Nexus 10并不像平板电脑那样

时间:2015-03-03 17:03:50

标签: android android-emulator tablet

我的问题是在Android Studio中模拟Nexus 10并不像手机一样。我尝试了两种方法来检测设备是平板电脑还是手机:

public static boolean isTablet(Context context) {
return (context.getResources().getConfiguration().screenLayout
        & Configuration.SCREENLAYOUT_SIZE_MASK)
        >= Configuration.SCREENLAYOUT_SIZE_LARGE;
}

以及此处的变体Determine if the device is a smartphone or tablet? 在使用nexus 7和另一台平板电脑时,两者都不能与nexus 10配合使用。可能是模拟器的问题,我不知道。请帮帮我。

1 个答案:

答案 0 :(得分:0)

这是片剂测定的旧方法。只是指出出了什么问题,你不检查设备是否是XLARGE(n10是)。这种过时方式的更正确版本是: (来自https://stackoverflow.com/a/9590506/794088

public static boolean isTablet(Context context) {
    boolean xlarge = ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE);
    boolean large = ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE);
    return (xlarge || large);
}

但请注意以下答案:

https://stackoverflow.com/a/14370196/794088