【问题标题】:Android - How to have Mixed Orientation Tabs? (some tabs portrait, others landscape)Android - 如何拥有混合方向选项卡? (一些标签纵向,其他标签横向)
【发布时间】:2011-07-14 23:05:34
【问题描述】:

我创建了一个包含多个选项卡的应用程序,每个选项卡都有自己的布局。我已关闭对加速度计的响应以使应用程序保持纵向模式(android:screenOrientation="portrait")。

其中两个标签设计为纵向模式,一个标签设计为横向模式。我需要利用屏幕比横向高的事实来显示迷你电子表格。

这是我的问题:如何将其中一个选项卡定向为横向,而将其他两个选项卡保留为纵向模式?

有什么建议吗?

【问题讨论】:

    标签: android layout tabs orientation


    【解决方案1】:

    要以编程方式更改方向,请使用 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);或 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);。在这种情况下,每个选项卡单击事件都可能与其相关方向相关联

    来源:http://russenreaktor.wordpress.com/2010/01/03/solved-set-screen-orientation-programmatically/

    【讨论】:

    • 这会影响整个标签集,不是吗?对于这个应用程序,当手机旋转时,我需要标签保持在顶部(纵向模式)而不是向右(横向)。有没有办法只旋转选项卡内的布局,而不旋转整个屏幕?
    • 如果您对每个选项卡都有一种方法,将其强制设置为您想要的方向,那么对于主动选择的选项卡,它将始终具有正确的方向。
    • 没有。这有预期的结果。框架集单独旋转,其他一切将选项卡置于屏幕顶部以横向模式。我需要的是能够将单个选项卡的 Contents 旋转到横向模式,或者能够将选项卡 Lock 锁定在纵向屏幕顶部的适当位置。
    【解决方案2】:

    我在选项卡集之外找到了一个解决方案。以下链接讨论了显示垂直文本的多种解决方案:

    Vertical (rotated) label in Android

    我选择了 PocketMagic 的“CustomTextView”,可以在这里找到:http://www.pocketmagic.net/?p=1625

    通过显示垂直文本的能力,我可以将整个选项卡集锁定在纵向模式。

    感谢大家的建议。

    -cc

    【讨论】:

    • 感谢您发布此解决方案。
    【解决方案3】:

    不确定您是否得到答案,但我一直在寻找 30 分钟,并找到了类似问题的解决方案。希望这会有所帮助。

    我正在使用 tabhost,希望 4 个选项卡中的 3 个能够旋转,并且仅将 1 个选项卡设置为纵向模式。以前(在应用此修复之前)3 个选项卡会旋转,直到选择了固定的纵向选项卡,然后它们都卡在纵向模式下。

    我必须设置其他选项卡以使用 USER 的方向来解决此问题。即在其他 3 个选项卡的 onResume 中添加了一个setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER);,它现在完全按照我的预期工作。 3 个选项卡现在将根据用户的设备方向旋转,1 个选项卡固定为纵向。 :)

    【讨论】:

      猜你喜欢
      • 2010-12-30
      • 2011-10-10
      • 2012-05-02
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-18
      相关资源
      最近更新 更多