我的问题是在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配合使用。可能是模拟器的问题,我不知道。请帮帮我。
答案 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);
}
但请注意以下答案: