android - 平板电脑与手机方向限制

标签 android orientation landscape portrait

我正在开发一个灵活的应用程序,带有 fragment 。我只想在平板电脑上使用陆地模式,在手机上使用纵向模式。如何限制仅手机的纵向和仅平板电脑的横向

干杯

最佳答案

您可以使用您的值文件夹的 bools.xmlres/values用于手机res/values-sw600dp适用于平板电脑

因此您需要在您的文件夹中创建这些值文件夹,并且每个文件夹都必须具有 bools.xml。

在 bools.xml 中你必须有一个 bool 值来检查它是手机还是平板设备

bools.xmlres/values

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <bool name="portraitMode">true</bool>
</resources>

bools.xmlres/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/

相关文章:

android force 在横向模式下启动 Activity

Android 前置摄像头录制视频但播放颠倒...!

Android 标签与横向

横向方向的android preferenceactivity填充

java - onPause() 或 onSaveInstanceState() 哪个更适合我的需求?

android httpGet问题

android - 向 float 操作按钮添加菜单选项

c# - Windows 8 商店应用程序平滑方向更改

orientation - 具有冗余状态测量的卡尔曼滤波器

android - NavBar 下方的 BottomNavigationBar