Android:将点数转换为像素

Bry*_*eld 6 android resolution pixels points

我一直pt在XML文件中使用该单元.现在我需要在运行时设置元素的宽度.如何通过点设置宽度,使其与我在其他地方使用的单位相同.我假设我需要乘以分辨率和dpi.代码示例最好.

Yah*_*hel 11

首先,您应该阅读Android Developer Documentation中的以下深入文章:

http://developer.android.com/guide/practices/screens_support.html

在中间,您将在标题下找到以下内容:

不要在代码中使用硬编码像素值

// Convert the dps to pixels
final float scale = getContext().getResources().getDisplayMetrics().density;
mGestureThreshold = (int) (GESTURE_THRESHOLD_DP * scale + 0.5f);
Run Code Online (Sandbox Code Playgroud)

  • 当表达式转换为整数时,舍入到最接近的整数. (4认同)