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