如何使应用程序仅在纵向模式下运行

时间:2011-07-05 10:21:31

标签: android

在我的应用程序中如果我想限制活动在纵向模式下工作,那么我必须在清单文件中针对活动标记写入android:screenOrientation="portrait"。如果我想强制所有活动以纵向模式工作,那么我必须在所有活动中编写相同的内容。是否有任何应用程序设置,以便我不必在所有活动中写这个。如何使应用程序仅以纵向模式运行

我现在正在使用以下内容

        <activity
        android:screenOrientation="portrait"
        android:configChanges="keyboardHidden|orientation"
        android:name=".MyActivity"></activity>

8 个答案:

答案 0 :(得分:41)

唯一的方法是为每项活动添加android:screenOrientation="portrait"

答案 1 :(得分:10)

我担心我无法回答你的问题,但无论如何我都需要写回复。

我确信你正在编写有史以来最好的应用程序,并且有一些很棒的理由为什么它应该只锁定到纵向模式。但你有没有考虑过带滑出式键盘的手机?如果您的应用程序涉及文本输入,那么拥有完整qwerty键盘手机(例如Droid / Milestone 1/2,G1等)的任何人都将旋转他们的手机,滑出键盘并发现他们的恐怖应用程序没有与他们一起旋转。

要考虑的事情。祝你的问题和你的应用好运!

答案 2 :(得分:2)

无法设置应用程序范围的方向。但是有一个有趣的值叫behind

android:screenOrientation="behind"

但您仍需要为每项活动应用它。因此,在您的案例中坚持使用portrait会更好。

另请注意,您需要有充分的理由限制应用中的方向。一般来说,这被认为是一种不好的做法,可能会让很多用户感到沮丧。

答案 3 :(得分:1)

HI使用此代码android:screenOrientation="portrait" 我不认为这种类型的再生有另一种方式

答案 4 :(得分:0)

您可以在涉及文本输入的活动上支持横向模式,其中可能需要使用物理键盘并使应用程序的其余部分保持纵向模式。

答案 5 :(得分:0)

<activity android:name=".exampleActivity"
android:configChanges="orientation"
android:screenOrientation="portrait"/>

答案 6 :(得分:0)

推荐的方法是将标记用于清单中的所有活动。 但是,如果any1想要最懒惰的方法,你可以使用以下代码。

在Application类的onCreate()中,包含以下代码。

registerActivityLifecycleCallbacks(new ActivityLifecycleAdapter() {
        @Override
        public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
                activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            }
    }

答案 7 :(得分:-2)

机器人:screenOrientation = “纵向”         机器人:configChanges = “keyboardHidden |取向”

在应用程序标记中使用这些行。

它可以帮助你或使用这行android:screenOrientation =“portrait”与每个活动。