使用values-swdp在Android中定位不同的屏幕尺寸

时间:2012-06-21 18:36:24

标签: android width screen dimensions

我知道我之前已经将这项工作用于项目,但无论出于何种原因,当我尝试将尺寸放入'values-sw360dp'时,宽度> gt = = 360dp的屏幕都没有在那些尺寸上获得,他们正在恢复到常规的'values'文件夹。有什么想法吗?如果您需要更多信息,请随时提出。

感谢您的时间。

编辑:获取屏幕分辨率的方法:( Bionic出现在360x640dp)

Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
Log.d("Screen width(px)", width+","+height);

float density = getResources().getDisplayMetrics().density;
Log.d("Screen density", density+"");

float widthDp = width / density;
float heightDp = height / density;
Log.d("Screen width(dp)", widthDp+","+heightDp);

2 个答案:

答案 0 :(得分:4)

我也认为你的数学已经完成了。

Nexus one为480 x 800像素,屏幕为3.7英寸,DPI为252dip。

您可以使用此网站计算密度:dpi

或手动完成。

这解释了密度桶:list-of-android-devices-with-pixel-density-buckets

因此,对于谷歌Nexus One来说,你可以选择

/values-sw530dp/

顺便问一下,你宣布

您的清单中的

android:minSdkVersion="7",因为您的尝试无法在Android 1.5上运行(如果您使用旧的模拟器或其他东西)。

答案 1 :(得分:1)

我认为你的数学已关闭:

根据维基百科,显示器显示 4.3英寸960×540像素qHD,256 ppi

160/256 = 0.625

0.625*540 = 337.5

尝试values-sw335dp并查看是否有效