问题描述
|
如何指定“ 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
单位转换为像素。