Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:如何在代码中使用dip(密度独立像素)?_Android - Fatal编程技术网

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

Android:如何在代码中使用dip(密度独立像素)?,android,Android,如何指定int参数处于dip状态?具体来说,如何编写以下等价物: android:layout_width="50dip" android:layout_height="50dip" 类似于…: LayoutParams params = new LayoutParams(50, 50) 使用此处提到的公式将默认像素转换为与密度无关的像素。或者选中此项有一个内置方法也可以执行此操作: 你也可以用它将sp单位转换成像素。我一直认为这是安卓系统缺乏功能。它似乎并不缺少,只是不太漂亮D //

如何指定
int
参数处于dip状态?具体来说,如何编写以下等价物:

android:layout_width="50dip" 
android:layout_height="50dip" 
类似于…:

LayoutParams params = new LayoutParams(50, 50)

使用此处提到的公式将默认像素转换为与密度无关的像素。或者选中此项

有一个内置方法也可以执行此操作:


你也可以用它将
sp
单位转换成像素。

我一直认为这是安卓系统缺乏功能。它似乎并不缺少,只是不太漂亮D
// 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);