2013-06-02 47 views

回答

-1

如果你定义了平板电脑的设备与屏幕比7" 大

public static boolean isTablet() { 
    return screenSize >= 7; 
} 

public static double getScreenSize(Activity activity){ 
    DisplayMetrics dm = new DisplayMetrics(); 
    activity.getWindowManager().getDefaultDisplay().getMetrics(dm); 
    double x = Math.pow(dm.widthPixels/dm.xdpi,2); 
    double y = Math.pow(dm.heightPixels/dm.ydpi,2); 
    screenSize = Math.sqrt(x+y);   
    return screenSize; 
} 
+1

我相信“最小宽度”的资源,如sw600dp限定符不低于3.2 Android版的工作?我无法使用layout-large,因为屏幕尺寸为5.4,5.8,6.3的设备也属于该类别(而第一款三星Galaxy Tab认为它具有正常布局)。这是我在我的项目中遇到的问题,除了计算屏幕尺寸外,没有其他方法适用于我。 – Ethan

0

没有办法,你可以设置一个布尔内RES /值

<bool name="isHandest">false</bool> 

values-sw600dpvalues-sw720dpvalues-xlarge

and

<bool name="isHandest">true</bool> 

res/values

+0

平板电脑7英寸运行3.0操作系统,这将无法工作 –

+0

它应该在值大。 Imho a 7“with android lower.than 3.2它不是平板电脑 – Blackbelt

0

使用最小宽度限定符:

的最小宽度限定词让您针对那些在DP给予 一定的最小宽度的屏幕。例如,典型的7" 平板电脑 有600个DP的最小宽度,所以如果你想你的用户界面有这些菜单上的两个 窗格(但在小屏幕上一个列表),您可以 使用来自相同的两个布局单和 双窗格布局,但不是大尺寸预选赛中,使用sw600dp 来表示两个窗格布局的一节是在其上 最小宽度为600 DP

屏幕你可以使用不同的布局或将这些文件夹中的布尔:

<resources> 
    <bool name="is_tablet">true</bool> 
</resources> 

来自官方的文档: http://developer.android.com/training/multiscreen/screensizes.html

+0

但如果操作系统小于3.2其无用 –

+0

使用layout-large ... –

相关问题