Android – 仅限垂直布局

我如何确保我的应用程序只用于垂直布局?

我曾尝试android:screenOrientation="portrait"但似乎并没有这样做。

你需要添加到所有的活动,而不是只为一个。 我想你明白,设置是每个应用程序的广泛,但事实并非如此。

 <activity android:name=".MyActivity" android:label="My Activity" android:screenOrientation="portrait"> 

将声明添加到AndroidManifest中的activity标签中,以便将每个Activity设置为仅限肖像。

如果你只想把你的一些活动locking在PORTRAIT模式,那么你可以select下一个方法:

 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); } 

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

您必须更改为AndroidManifest.xml。

对于每个活动你必须插入:

 android:configChanges = "orientation" android:screenOrientation = "portrait" 

例如:

 <activity android:name=".YourActivityName" android:label="@string/app_name" android:configChanges = "orientation" android:screenOrientation = "portrait"> 

这适用于一个单一的活动..但似乎没有应用程序广泛设置那里。

在您的清单下的活动添加此:

 <activity android:name="com.zeus.MyProject" android:screenOrientation="portrait" > 

android:configChanges="keyboardHidden|orientation"到活动。

只是为了确认Pentium10的答案。 我有一个类似的问题,并添加android:screenOrientation =“肖像”的标签做了我的伎俩。

android:orientation =“vertical”把这个属性放到布局根目录下,试试看可能有帮助。

活动是为了防止阻止所有,只在他们的活动中重复这行代码。

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); // Here, talk to the java does not want that the user can rotate their activity. this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

或打开你的“AndroidManisfest.xml”并添加肖像模式的行,如下所示。

  android:configChanges="orientation" android:screenOrientation="portrait">