如何设置仅在纵向模式下整个应用程序?纵向、应用程序、如何设置、模式下

2023-09-13 23:39:07 作者:闲云清烟

我如何设置它,以便应用程序仅在纵向模式下运行?我想要的应用程序运行时的横向模式被禁用。我该怎么做编程方式?

How do I set it so the application is running in portrait mode only? I want the landscape mode to be disabled while the application is running. How do I do it programmatically?

推荐答案

您可以指定机器人。您不能指定的应用程序这个选项标记。

另一种选择是做编程方式,例如在活动的基类:

Other option is to do it programmatically, for example in an Activity base class:

@Override
public void onCreate(Bundle savedInstanceState) {
  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

为Android 4+(API 14 +)

最后一个选项是与活动的生命周期监听器这是唯一可用由于Android 4.0(API 14+)做到这一点。一切都发生在一个自定义的应用程序类:

@Override
public void onCreate() {
    super.onCreate();  
    registerActivityLifecycleCallbacks(new ActivityLifecycleAdapter() {
        @Override
        public void onActivityCreated(Activity a, Bundle savedInstanceState) {
            a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
    });
}

ActivityLifecycleAdapter 只是一个辅助类,你需要创建一个将 ActivityLifecycleCallbacks 的空的实现(所以你不必重写该接口的每一个方法时,你只需要其中之一)。

ActivityLifecycleAdapter is just a helper class you'll need to create which will be an empty implementation of ActivityLifecycleCallbacks (so you don't have to override each and every methods of that interface when you simply need one of them).

 
精彩推荐
图片推荐