我需要使用dip / dp(在java文件中)编码android小部件的布局。在运行时,如果我的代码,
int pixel=this.getWindowManager().getDefaultDisplay().getWidth()
;
这将返回以像素(px)为单位的屏幕宽度。要将其转换为dp,我进行了编码:
int dp =pixel/(int)getResources().getDisplayMetrics().density ;
这似乎没有返回正确的答案。我制作了WVGA800仿真器,其屏幕分辨率为480 x800。运行仿真器并让代码打印pixel和dp的值时,两者的总和为320。该仿真器为240 dpi,其比例因子为0.75。