如何解决Android:如何在代码中使用Dip密度独立像素?
| 如何指定“ 0”参数在dip中?具体来说,怎么写相当于:android:layout_width=\"50dip\"
android:layout_height=\"50dip\"
就像是...:
LayoutParams params = new LayoutParams(50,50)
解决方法
使用此处提到的公式http://developer.android.com/guide/practices/screens_support.html#screen-independence将默认像素转换为与密度无关的像素。或检查这是从Java代码在DIP中指定尺寸的正确方法是什么?
,有一个内置方法也可以执行此操作:TypedValue.applyDimension。
// Convert from 50dip to actual pixels
final int width = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,50,getResources().getDisplayMetrics());
final int height = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,getResources().getDisplayMetrics());
LayoutParams params = new LayoutParams(width,height);
您也可以用它从sp
单位转换为像素。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。