关于动态修改UI的大小 在java代码中,我们可以通过LayoutParams这个类来实现动态的修改UI的大小。但是问题是,Android提供了多种长度单位(px,dp等)。 默认情况下,LayoutParams结构设定width和height的单位是px,那我能否把单位设定为dp呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我记得是可以的,试试就知道了。dp是和密度相关的单位。px是按像素算的 但其实这样的修改操作只是为了单一的分辨率而言的,如果自适应,那还是通过控制布局文件来改变大小吧,比如使用reletivelayout 在代码中设定单位都是px,要与dp对应请先进行单位换算 我目前的解决方案是这样的: 在res/values目录下建立dimension.xml文件然后再这个文件中声明我要的高度:<dimen name="Item_Height">65dp</dimen> 然后,在java文件中这样调用: int ItemHeight = mContext.getResources().getDimensionPixelSize(R.dimen.Item_Height); 这样,Android就会自动的帮我把dp单位根据当前的屏幕密度,计算为px单位。 不过,dp单位被计算为px单位的时候,会自动把小数点的部分丢掉,所以实际上,这里还是有误差存在的,最终出来的界面效果,有点差强人意啊。 用getDimension得到float值,自己再转换为int呢?这样效果会不会好点? android 树状listview 为什么这样是错的intent.setClass 请问关于intent的获取 EditText属性问题。 Activity跳转、返回和关闭的相关问题。 谁有编译好的libffmpeg.so,最好版本高一点,和对应的源码! 如何实现将短信内容发送到邮箱 Android开发如何确定ListView中item的高度 soap方式获取响应内容的提取问题!!!! 急求!!!!!!! android是一个怎么样的学习过程 ContentProvider中的“完全限定的授权名”和“基础授权名称”是什么意思?
在res/values目录下建立dimension.xml文件然后再这个文件中声明我要的高度:
<dimen name="Item_Height">65dp</dimen>
然后,在java文件中这样调用:
int ItemHeight = mContext.getResources().getDimensionPixelSize(R.dimen.Item_Height);
这样,Android就会自动的帮我把dp单位根据当前的屏幕密度,计算为px单位。
不过,dp单位被计算为px单位的时候,会自动把小数点的部分丢掉,所以实际上,这里还是有误差存在的,最终出来的界面效果,有点差强人意啊。