即使启用了自动旋转,也强制将方向设置为“活动”的“横向”

时间:2016-11-11 11:37:40

标签: android android-layout orientation

我正在使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE)

设置方向

但是,在使用Activity.getResources().getConfiguration().orientation进行设置之前检查方向时 我得到了价值1,这是potrait。

然后我用代码设置方向。我仍然得到值1,同时android系统正在布局文件夹(potrait)中寻找布局而不是布局大片土地。 所以结论是,如何强制将方向设置为Landscape?

2 个答案:

答案 0 :(得分:2)

您可以AndroidManifest.xml Activity强制设置方向:

<activity
    android:name="<name_of_your_activity>"
    android:screenOrientation="landscape"
    ...

<强>更新 看看this问题。

答案 1 :(得分:0)

在值中创建bool.xml

<resources>
    <bool name="isTablet">false</bool>
</resources>

在values-sw600dp中创建另一个bool.xml

<resources>
    <bool name="isTablet">true</bool>
</resources>

然后在你的活动中

boolean tabletSize = getResources().getBoolean(R.bool.isTablet);
if (tabletSize) {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
} else {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}