繁体   English   中英

ActionBarSherlock更改选项卡上方向的文本颜色更改

[英]ActionBarSherlock Change Tab Text Color on Orientation Change

我有一个设置为ActionBarSherlock的ActionBar。 当应用程序为纵向和横向时,我需要设置不同的标签文本颜色。 当选项卡处于纵向模式时,文本应为浅灰色,如下所示:

人像标签

当方向为横向时,选项卡文本颜色应为白色(#FFFFFF)。 但是,当方向更改为横向时,文本如下所示:

风景标签

同样,在横向模式下,我需要具有选项卡的文本颜色,白色(#FFFFFF)。 我正在使用Light.DarkActionBar主题,并通过样式设置文本颜色,如下所示。

/ values文件夹中

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Example.Theme.Default" parent="@style/Theme.Sherlock.Light.DarkActionBar">

        <item name="actionBarTabTextStyle">@style/Example.ActionBar.TabTextStyle</item>
        <item name="android:actionBarTabTextStyle">@style/Example.ActionBar.TabTextStyle</item>

    </style>

    <style name="Example.ActionBar.TabTextStyle"  parent="Widget.Sherlock.ActionBar.TabText">
        <item name="android:textColor">#585858</item>
    </style>

</resources>

当我旋转设备时,文本会保持黑暗,这是预期的。 我决定使用资源修饰符修复此问题,并在values-land文件夹下创建了一个带有-land修饰符的新资源文件夹,该文件夹具有横向使用时的新标签文本样式,如下所示。

/ values-land文件夹中

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="Example.ActionBar.TabTextStyle"  parent="Widget.Sherlock.ActionBar.TabText">
        <item name="android:textColor">#FFFFFF</item>
    </style>

</resources>

此时,如果旋转设备,我希望文本会更改颜色。 这不会发生 但是...如果我返回Android主屏幕,将设备置​​于横向, 然后启动应用程序 ,则使用正确的资源样式(标签文本为白色)。 如果将其旋转回纵向,它将保持白色。 我希望它能恢复到较深的颜色(#585858)

如何在屏幕方向的选项卡上更改文本颜色? 似乎Android或ActionBar正在忽略方向更改,而不是再次查找样式。 有人知道吗

听起来您的android:configChanges="keyboardHidden|orientation"android:configChanges="keyboardHidden|orientation" (或类似名称)。 如果删除它,则它应在旋转时改变颜色。 这也将导致活动在旋转时重新加载,因此请确保您也妥善处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM