【问题标题】:handle screen rotation with 3 fragments, every one with 3 different layouts用 3 个片段处理屏幕旋转,每个片段都有 3 种不同的布局
【发布时间】:2016-06-25 20:36:54
【问题描述】:

我遇到了一点问题。
我有这样的情况:
使用一种布局的登录活动。
三个 Fragment 每一个具有三种不同的布局,(手机纵向、横向、平板电脑横向)
为了更好的形象,片段功能是:登录,注册和确认码。
我想要实现的是,良好的屏幕旋转 + 旋转后使用存储的寄存器数据打开正确的片段。 我不确定它是否会有所帮助,但我在项目 greenrobot 事件总线中使用。
我需要的是建议我如何正确实施它。哪个是最好的方法等等。
感谢您的反馈!

【问题讨论】:

  • 您能向我们展示一下您的应用程序的外观吗?每个片段布局中包含什么?
  • 是的,但是您想如何获得它?你想要一个 txt 描述?
  • 发布 xml 文件或描述节点,例如“垂直线性布局中的 ImageView 和 TextView”。
  • 嗯基本上我每个布局都在单独的文件中。我认为方向和内容在这里并不重要,因为我不想动态添加内容。我不想只在 onConfigurationChanged 示例中的屏幕更改并将数据加载回字段时加载良好的布局。我想 onSavedInstanceState 会很好。

标签: android android-layout android-fragments greenrobot-eventbus


【解决方案1】:

您应该根据屏幕尺寸和方向使用量词来加载出色的布局。

例如,layout-large-landlayout 文件夹中的 activity_main.xml 不会做出相同的反应。只有在您使用平板电脑且面向横向时,才会加载第一个。第二个将是默认布局。

您将需要使用小型、大型、横向(陆地)和纵向(默认)量词。

关于加载数据,您可以使用 saveInstanceState 包。请注意,带有 id 的视图会自动处理它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多