0

如何以编程方式检查所有设备和操作系统(2.2-最新)的设备是平板电脑还是手机。

4

3 回答 3

0

不可能。您可以在 res/values 中设置布尔值

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

里面values-sw600dpvalues-sw720dpvalues-xlarge

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

res/values

于 2013-06-02T13:03:14.777 回答
0

使用最小宽度限定符:

Smallest-width 限定符允许您定位在 dp 中具有特定最小宽度的屏幕。例如,典型的 7 英寸平板电脑的最小宽度为 600 dp,因此如果您希望 UI 在这些屏幕上有两个窗格(但在较小的屏幕上只有一个列表),您可以使用与上一节相同的两个布局对于单窗格和双窗格布局,但不要使用大尺寸限定符,使用 sw600dp 指示双窗格布局适用于最小宽度为 600 dp 的屏幕

您可以使用不同的布局或在这些文件夹中设置布尔值:

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

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

于 2013-06-02T13:05:23.200 回答
-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;
}
于 2013-06-02T13:03:05.860 回答