1

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 が向きの変更を無視し、スタイルを再度検索していないようです。誰でも何か考えがありますか?

4

1 に答える 1