我该如何确保我的应用程序只适用于垂直布局?
我尝试过使用android:screenOrientation="portrait"
,但好像没起作用。
我该如何确保我的应用程序只适用于垂直布局?
我尝试过使用android:screenOrientation="portrait"
,但好像没起作用。
你需要为所有的活动添加,而不仅仅是一个。我认为你已经明白了该设置是应用程序范围内的,但事实并非如此。
<activity android:name=".MyActivity"
android:label="My Activity"
android:screenOrientation="portrait">
在AndroidManifest的每个想要只显示为竖屏的Activity标签中添加声明。
如果您希望某些活动仅以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);
}
只需要在需要的地方扩展BasePortraitActivity
或者在YourActivity.onCreate()
中添加setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
你需要修改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"
>
如果想要在所有Activity中阻止某些操作,可以使用Activity来进行阻止。只需在各自的Activity中重复这行代码即可。
@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);
android:configChanges="orientation"
android:screenOrientation="portrait">
android:configChanges="keyboardHidden|orientation"
。android:orientation="vertical"
这可能会有所帮助。
只是确认 Pentium10 的答案。
我遇到了类似的问题,将 android:screenOrientation="portrait"
添加到 activity
标记中。
对我有帮助。