2011-07-04 38 views

回答

4

是的。

(int) TypedValue.applyDimension(
    TypedValue.COMPLEX_UNIT_DIP, 2, this.getResources() 
     .getDisplayMetrics())); 

您还可以在值中添加维度并从资源中获取维度。

Dimension values

+0

谢谢!这是我正在寻找的 –

0
// The gesture threshold expressed in dp 
private static final float GESTURE_THRESHOLD_DP = 16.0f; 

// Get the screen's density scale 
final float scale = getResources().getDisplayMetrics().density; 
// Convert the dps to pixels, based on density scale 
mGestureThreshold = (int) (GESTURE_THRESHOLD_DP * scale + 0.5f); 

// Use mGestureThreshold as a distance in pixels... 

DisplayMetrics.density字段指定必须使用dp单位转换为像素,根据当前屏幕密度的比例因子。在中密度屏幕上,DisplayMetrics.density等于1.0;在高密度屏幕上,它等于1.5;在超高密度屏幕上,它等于2.0;,在低密度屏幕上,等于0.75。这个数字是您应该乘以dp单位的因数,以获得当前屏幕的实际像素数。 (当转换为整数时,请添加0.5f以将数字四舍五入到最接近的整数。)有关更多信息,请参见DisplayMetrics class

android documentation答案,所以你不必搜索内容

相关问题