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">