簡體   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