Android:如何在代码中使用dip(密度独立像素)?

时间:2011-04-14 21:11:28

标签: android

如何指定int参数正在下降?具体来说,如何编写相当于:

android:layout_width="50dip" 
android:layout_height="50dip" 

像......这样的东西:

LayoutParams params = new LayoutParams(50, 50)

2 个答案:

答案 0 :(得分:19)

还有一种内置方法可以执行此操作: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, 50, getResources().getDisplayMetrics());

LayoutParams params = new LayoutParams(width, height);

您也可以使用此功能将sp单位转换为像素。

答案 1 :(得分:17)