【问题标题】:How to fix layout orientation to vertical?如何将布局方向固定为垂直?
【发布时间】:2011-04-18 11:21:14
【问题描述】:

如何将布局方向固定为纵向,并且不允许在运行时从纵向更改为横向?

【问题讨论】:

    标签: android android-orientation


    【解决方案1】:

    在您的AndroidMainfest.xml 文件中找到您希望锁定到给定轮换的活动的标签,并添加此属性:

    android:screenOrientation="portrait"
    

    【讨论】:

    • @AlekseyTimoshchenko 你能描述一下它是如何不起作用的吗?
    • @parvus 对我来说,当我根据答案在清单中添加此属性 android:screenOrientation="portrait" 时,我仍然可以进行轮换...最终我在下一个找到解决方案,我已经添加了这一行 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); on每个活动的onCreate();
    【解决方案2】:

    如图所示使用setRequestedOrientation()

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    

    【讨论】:

    • 我个人更喜欢这个,如果你想改变方向,这真的很方便,否则如果你只想将设备放置在那个方向,请使用 XML。
    【解决方案3】:

    在清单文件中的活动参数中

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.statepermit" android:versionCode="1" android:versionName="1.0">
        <application android:icon="@drawable/stateheader" android:label="@string/app_name">
            <activity android:name=".statepermit" android:label="@string/app_name"
                android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    
        </application>
        <uses-sdk android:minSdkVersion="7" />
    
    </manifest>
    

    android:screenOrientation="portrait"

    【讨论】:

      【解决方案4】:

      如果你想在运行时冻结方向,那么你可以实现这个:

      Android: Temporarily disable orientation changes in an Activity

      我使用了类似的方法,效果很好。

      【讨论】:

        【解决方案5】:
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        

        之前

        setContentView(R.layout.main);
        

        【讨论】:

          【解决方案6】:

          如果你想在你的项目中修复一个Activity的方向,你必须打开Manifest.xml并放入所需Activity的参数部分(在第一个标签 &lt; activity…&gt; 关闭之前):

          android:screenOrientation="portrait" 如果你想要 VERTICAL 固定方向

          android:screenOrientation="landscape" 如果你想要水平固定方向

          【讨论】:

            【解决方案7】:

            在您的AndroidMainfest.xml 中,只需在您声明的活动中写下此内容,

            如果你想要垂直布局而不是使用

            android:screenOrientation="portrait"
            

            如果你想在布局横向而不是使用

            android:screenOrientation="landscape"
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-11-06
              • 1970-01-01
              • 2013-02-02
              • 2012-02-15
              • 2014-10-07
              • 2012-10-25
              • 2018-07-28
              • 1970-01-01
              相关资源
              最近更新 更多