3

我知道我之前已经在项目中使用过它,但是无论出于何种原因,当我尝试将尺寸放入“values-sw360dp”时,宽度 >= 360dp 的屏幕并没有接收到这些尺寸,它们是恢复到常规的“值”文件夹。任何想法为什么?如果您需要更多信息,请随时询问。

感谢您的时间。

编辑:获取屏幕分辨率的方法:(仿生出来到 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);
4

2 回答 2

4

我也觉得你的数学不好。

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

你可以使用这个网站来计算密度:dpi

或手动进行。

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

因此,如果要让 Google Nexus One 拿起它,您将拥有

/values-sw530dp/

顺便说一句,你声明

android:minSdkVersion="7"在您的清单中,因为您的尝试在 Android 1.5 上不起作用(如果您使用旧的模拟器或其他东西)。

于 2012-06-21T19:42:45.583 回答
1

我认为你的数学是错误的:

根据维基百科,显示器是 Display 4.3-inch 960 × 540 px qHD at 256 ppi

160/256 = 0.625

0.625*540 = 337.5

试试看values-sw335dp是否有效

于 2012-06-21T19:25:25.433 回答