区分具有相同dpi的两个设备的布局

时间:2013-05-13 05:10:26

标签: android layout resolution galaxy-tab nexus-7

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

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:0)

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