手机纵向模式和平板电脑纵向+横向
Portrait mode for Phones and Portrait+Landscape for Tablets
我正在构建一个通用 android 应用程序,其中 phone 需要仅支持纵向,而平板电脑将同时支持纵向和横向。这是我的布局结构
布局端口
布局-sw600dp-端口
布局-sw600dp-land
但如果 phone 处于横向模式,应用程序会崩溃,原因是找不到资源异常。
这种方式应该 work:Define values-sw600dp boolean.xml 文件中的布尔值。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="tablet">true</bool>
</resources>
在常规值文件夹中定义类似的文件并将值更改为 false:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="tablet">false</bool>
</resources>
将其放入您的 onCreate 中:
boolean tablet = getResources().getBoolean(R.bool.tablet);
if (!tablet)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
您好,您可以像这样在 activity 中以编程方式设置您的方向
if(isTable()){
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}else{
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
哪里isTablet()
方法
public static boolean isTablet(Context context) {
return (context.getResources().getConfiguration().screenLayout
& Configuration.SCREENLAYOUT_SIZE_MASK)
>= Configuration.SCREENLAYOUT_SIZE_LARGE;
}// isTablet
我正在构建一个通用 android 应用程序,其中 phone 需要仅支持纵向,而平板电脑将同时支持纵向和横向。这是我的布局结构
布局端口 布局-sw600dp-端口 布局-sw600dp-land
但如果 phone 处于横向模式,应用程序会崩溃,原因是找不到资源异常。
这种方式应该 work:Define values-sw600dp boolean.xml 文件中的布尔值。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="tablet">true</bool>
</resources>
在常规值文件夹中定义类似的文件并将值更改为 false:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="tablet">false</bool>
</resources>
将其放入您的 onCreate 中:
boolean tablet = getResources().getBoolean(R.bool.tablet);
if (!tablet)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
您好,您可以像这样在 activity 中以编程方式设置您的方向
if(isTable()){
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}else{
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
哪里isTablet()
方法
public static boolean isTablet(Context context) {
return (context.getResources().getConfiguration().screenLayout
& Configuration.SCREENLAYOUT_SIZE_MASK)
>= Configuration.SCREENLAYOUT_SIZE_LARGE;
}// isTablet