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