【问题标题】:Android how to dynamically change actionbar tabs text color on orientation changeAndroid如何在方向更改时动态更改操作栏选项卡的文本颜色
【发布时间】:2014-01-23 21:42:00
【问题描述】:

我正在使用实现 ActionBar.TabListener 的 FragmentActivity。

我已将顶部/标题栏的主题设置为深色背景和白色字体。

我的三个标签,堆叠在下面,有浅色背景和黑色字体。这在纵向看起来不错,但对于具有更多水平像素的设备,例如平板电脑或横向手机,标签栏被吸收到主标题栏中。这种行为本身很好,但是标签字体是黑色的,我需要将它更改为白色以适应这种特定情况。

支持吗?

感谢Is it possible to change actionbar tab indicator programmatically,我已经知道如何更改底部突出显示颜色和选项卡背景颜色,但我还不能以编程方式更改字体颜色。

我已经尝试创建一个 Spannable 对象,设置它的颜色,然后通过 myTab.setText() 分配它,但主题似乎覆盖了这种颜色,尽管文本字符发生了变化。

【问题讨论】:

    标签: android android-actionbar


    【解决方案1】:

    自己找到了一个可行的解决方案:

    使用“values-land”和基于 dpi 的描述符,我可以为该特定实例使用另一种样式(例如,横向或平板电脑等高 DPI 设备)。

    创建一个“values-land”文件夹,并在其中创建一个 styles.xml 文件,该文件会自动将这些样式用于横向视图。

    有关如何执行此操作的更多信息:http://developer.android.com/guide/topics/resources/providing-resources.html

    【讨论】:

    • 我自己也有同样的问题。您能否详细说明“基于 dpi 的描述符”的含义?我理解将“values-land”用于横向,但对于高 DPI 设备则不然。
    • 就像“values-land”一样,您可以使用“values-hdpi”为具有高 DPI 设备的设备使用替代值。由于更高 DPI 的设备将有更高的分辨率供我们使用,这可用于在选项卡栏被“吸收”到操作栏的情况下使用替代颜色。看看这个答案:stackoverflow.com/questions/9639219/…
    • 哦,我现在明白了。谢谢,谢恩! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多