【问题标题】:My app is not working properly when screen is rotated屏幕旋转时我的应用程序无法正常工作
【发布时间】:2018-02-01 04:02:58
【问题描述】:

我正在 android studio 上创建一个应用程序。该应用程序运行良好,但每当我旋转屏幕时,布局就会发生变化,屏幕上的项目会重叠,有时应用程序会重新启动。 有哪些可能的解决方案?防止屏幕旋转是一个不错的选择吗?请帮忙。提前致谢。

【问题讨论】:

  • 如果要限制屏幕旋转,请将android:screenOrientation=" portrait "添加到要禁用横向模式的活动中。或android:screenOrientation=" landscape",if you want to disable portrait mode.
  • 也可以调试bug。
  • 特定 @dazza5000 中有哪些错误?
  • 其实旋转屏幕时发生的事情,是不是recreates你的whole Activity

标签: android screen-rotation


【解决方案1】:

您需要在 AndroidMenifest.xml 中设置方向。如果您在键盘上遇到任何问题,请使用 keyboardHidden 属性。

【讨论】:

    【解决方案2】:

    您可以将活动的屏幕方向设置为纵向,这样您的活动将永远不会旋转,但是如果您想支持横向版本,那么您还必须创建横向布局并将布局放在 layout-landscape 文件夹中,但是您还必须处理好您的数据。

    选择是你的

    【讨论】:

    • 暂时,防止屏幕旋转对我来说很好
    【解决方案3】:

    当方向改变时,您可以阻止重新创建活动。只需将其添加到清单文件中的活动标签中即可。

    <activity
        android:name=".YOUR_ACTIVITY_NAME"
        android:configChanges="keyboardHidden|orientation|screenSize" />
    

    【讨论】:

      【解决方案4】:

      Android Activity 在您旋转设备时从头开始。所以你的活动生命周期方法像

      onCreate()、onStart()、onResume()

      将再次调用。 有两种可能的解决方案,第一个是 Rob 提出的。

      <activity
      android:name=".ACTIVITY"
      android:configChanges="keyboardHidden|orientation|screenSize" />
      

      这将自行处理方向变化。

      另一种解决方案是在不同的布局文件夹中创建不同的布局类型。文件夹将是

      layout-land、layout-sw600dp-land(7寸平板)和layout-sw720dp-land(10寸平板)

      因此,当您旋转设备时,此文件夹中的布局将由系统自动膨胀。会有一些情况,比如你想保留活动的当前状态,参考这个link

      【讨论】:

      • 拜托,不。不要做第一个“解决方案”。有不同的屏幕尺寸有不同的布局,效果不好。
      【解决方案5】:

      不,防止方向为横向不是一个好的解决方案。许多平板电脑只能横向显示,您的应用无法在这些平板电脑上正确显示。

      正确的做法是将你的状态保存在onSaveInstanceState() 中,然后在重新创建活动时将其读取到onCreate() 中(savedInstanceState 变量不会为空)。为此,您要保存的数据必须是 SerializableParcelable

      如果你想保存不可序列化的数据或者你有一些东西在后台运行,你可以使用 FragmentsetRetainInstance(true); 并且没有布局。见this链接。

      会再次创建视图,是的,但您将设置保存的值,使其看起来与旋转前一样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-11
        • 2013-10-05
        • 1970-01-01
        相关资源
        最近更新 更多