我已根据此检查了很多问题,但我仍然无法通过应用程序将屏幕方向锁定为横向。 ?
<activity android:screenOrientation="landscape"
android:name=".BasicLayoutCheckActivity"
/>
如果使用其他活动,这对我来说不起作用
答案 0 :(得分:12)
在Manifest中,您可以将screenOrientation设置为landscape for all the activities
。
您已放置one activity
,因此其他活动均以纵向展开,因此fixing
设置all your activities with orientation
作为您的第一项活动。
它在XML中看起来像这样:
<activity android:name=".BasicLayoutCheckActivity" android:screenOrientation="landscape"></activity>
答案 1 :(得分:5)
您还可以在onCreate()
方法中使用以下内容:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
问候!
答案 2 :(得分:4)
嘿检查一下在androidmanifest文件里面的活动添加它
<activity
android:screenOrientation="landscape"
android:configChanges="keyboard|keyboardHidden|orientation">
答案 3 :(得分:1)
必须将orientation属性设置为应用程序的每个单独活动。
答案 4 :(得分:0)
另外一项活动是什么意思?配置是每个活动。假设您的应用程序有三个活动,那么您必须将每个活动指定为格局。
答案 5 :(得分:0)
为避免必须为每个活动执行此操作,您可以在自定义应用程序类中注册活动生命周期回调(如果有的话)。
像...一样的东西。
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//Lock orientation in landscape for all activities, yaay!
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
});
}
}