我需要使用dip/dp(在java文件中)编写android小部件的布局。 在运行时,如果我编码:
int pixel = this.getWindowManager().getDefaultDisplay().getWidth()
;
这将返回屏幕宽度(以像素为单位px)。 要将其转换为dp,我编码了:
int dp = pixel /(int)getResources()。getDisplayMetrics()。density;
这似乎没有返回正确的答案。 我制作了WVGA800仿真器,其屏幕分辨率为480 x 800。 当运行仿真器并让代码打印pixel和dp的值时,两者都变成了320。 这个仿真器是240dpi,其比例因子将是0.75。
Resources.getSystem()
不起作用。还请参阅 http://developer.android.com/guide/practices/screens_support.html#dips-pels - EpicPandaForce