Android - 仅限垂直布局

tee*_*ink 62 android

如何确保我的应用仅用于垂直布局?

我试过了,android:screenOrientation="portrait"但似乎没有做到这一点.

Pen*_*m10 165

您需要将所有活动添加到仅适用于所有活动.我认为您理解该设置是针对每个应用程序的,但事实并非如此.

<activity android:name=".MyActivity"
          android:label="My Activity"
          android:screenOrientation="portrait">
Run Code Online (Sandbox Code Playgroud)

将声明添加到AndroidManifest中的活动标记,以用于您想要仅限纵向的每个活动.

  • @teepusink你应该接受这个答案. (12认同)

ddm*_*nko 19

如果您希望某些活动组仅在PORTRAIT模式下锁定,那么您可以选择下一种方式:

public abstract class BasePortraitActivity extends Activity {

    @Override
    protected final void onCreate(Bundle state) {
        super.onCreate(state);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        performOnCreate(state);
    }

    protected abstract void performOnCreate(Bundle state);

}
Run Code Online (Sandbox Code Playgroud)

而不只是扩展BasePortraitActivity到您需要的地方.或者只是添加setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);YourActivity.onCreate().


小智 12

你必须改成AndroidManifest.xml.

对于您必须插入的每个活动:

android:configChanges = "orientation"

android:screenOrientation = "portrait"
Run Code Online (Sandbox Code Playgroud)

例如:

<activity android:name=".YourActivityName"
                  android:label="@string/app_name"
                  android:configChanges = "orientation"
                  android:screenOrientation = "portrait">
Run Code Online (Sandbox Code Playgroud)

这适用于单个活动..但似乎没有应用程序范围设置.


Zeu*_*eus 8

在您的活动清单中添加以下内容:

<activity
        android:name="com.zeus.MyProject"
        android:screenOrientation="portrait"
        >
Run Code Online (Sandbox Code Playgroud)