Android:将点数转换为像素

时间:2011-01-20 16:39:58

标签: android resolution pixels points

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

2 个答案:

答案 0 :(得分:11)

首先,您应该阅读Android开发者文档中的以下深入文章:

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);

答案 1 :(得分:1)

您可以使用dip代替pt