1

我有两个布局文件夹:layout-sw800dp 和 layout-sw600dp,所以我的应用程序对三星 Galaxy Tab 7Nexus 7这两种设备都使用 layout-sw600dp ,它使我的字体和样式在 Nexus 7 上更大!我如何区分这两种设备的布局?提前致谢

4

2 回答 2

1

您可以从以下代码中检查 10 英寸和 7 英寸的桌面屏幕尺寸

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float widthInInches = metrics.widthPixels / metrics.xdpi;
float heightInInches = metrics.heightPixels / metrics.ydpi;
double sizeInInches = Math.sqrt(Math.pow(widthInInches, 2)
            + Math.pow(heightInInches, 2));

这里 sizeInInches 为您提供适当的表格英寸,在缓冲区中占用 0.5 英寸,并根据它给出条件,如下所示。

boolean is7inchTablet = sizeInInches >= 6.5 && sizeInInches <= 7.5;

每当您需要检查时,只需检查如下。

if(is7inchTablet){
    // do whatever for the 7-inch tablet
}else{
    // do whatever for the 10-inch tablet
}
于 2013-05-13T05:14:22.193 回答
0

已解决:我为 Nexus 7 制作了两个布局文件夹 layout-tvdpi,为三星 Galaxy Tab 7 制作了 layout-mdpi

于 2013-05-24T13:06:19.913 回答