如何一口气在所有活动中添加横向(旋转)?

时间:2018-07-19 18:00:40

标签: java android firebase firebase-realtime-database

我有一个大问题。我使用Firebase,Java和Android从零开始构建了一个聊天应用程序,其中包含许多活动和类。现在突然间我发现我忘记为横向模式(类似于默认的平板电脑模式)设置UI。我打开应用程序并旋转为横向,UI看起来非常糟糕,甚至某些部分都不可见。我实际上打算仅出于学习目的而在Play商店上发布。那么有没有简单的方法可以做到这一点?

  • 应该限制我,以便用户无法像下面这样通过Java或xml通过每项活动旋转屏幕吗?

在XML中:

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

在Java中:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
  • 我也不知道该如何进行所有活动?我是否必须为所有活动创建重复的活动?我该怎么办?我可以附在哪里?我真的对此一无所知。请帮助我。

1 个答案:

答案 0 :(得分:0)

Studio generates layout for you只需根据需要调整生成的布局,该布局就会自动使用

  

我应限制使用,以使用户无法旋转屏幕   像下面这样的每个活动都是通过Java还是xml中的mation?

您不应该将用户限制在一个方向上,如果您的版面设计规格非常适合景观,那么就选择它

  

我也不知道该如何针对所有活动进行此操作?我是不是该   必须为所有活动创建重复的活动?我该怎么办   这个?我可以附在哪里?我真的对此一无所知。   请帮助我。

对于清单解决方案,是的,您必须对清单文件中的每个活动条目执行此操作。

通过清单或xml进行。

要设置所有活动的方向,您可以创建一个基本活动并从中扩展所有活动,在该活动中您的基本活动会设置方向。例如

// no need to set orientation in manifest
class BaseActivity extends AppCompactActivity{

    oncreate(...){
     super.oncreate(..);
     setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }
}

class YourOtherActivities extends BaseActivity{

    oncreate(...){
       super.oncreate(..);
       setContentView(..);
    }

}