我正在开发一个灵活的应用程序,带有 fragment 。我只想在平板电脑上使用陆地模式,在手机上使用纵向模式。如何限制仅手机的纵向和仅平板电脑的横向?
干杯
最佳答案
您可以使用您的值文件夹的 bools.xml
在res/values
用于手机 和 res/values-sw600dp
适用于平板电脑。
因此您需要在您的文件夹中创建这些值文件夹,并且每个文件夹都必须具有 bools.xml。
在 bools.xml 中你必须有一个 bool 值来检查它是手机还是平板设备
在 bools.xml 中 res/values
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="portraitMode">true</bool>
</resources>
和bools.xml在res/values-sw600dp
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="portraitMode">false</bool>
</resources>
现在您需要通过首先获取 bool 值来以编程方式进行定位,以检查它是手机还是平板电脑,然后使用 setRequestedOrientation
用于指定设备的方向
示例:
在onCreate方法中
if(getResources().getBoolean(R.bool.portraitMode)){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
关于android - 平板电脑与手机方向限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25298179/