2012-10-13 12 views
5

た後、アクションバーの[小さな三角形の色」を変更することができます。予想通りは、どのように私は<code>NAVIGATION_MODE_LIST</code></p> <pre><code>getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); </code></pre> <p>に<code>action bar</code>を設定し、それ用のアダプタを設定しNAVIGATION_MODE_LIST

リストが現れますが、私はデフォルトの色は私背景色に非常に近いと、リストの「小さな三角形」の色を変更する必要があります。

もしそうなら、どうすればいいですか?

答えて

12

変更したい小さな三角形はSpinnerウィジェットの背景にActionBarです。背景はstate list drawableです。状態リストの描画可能の項目は、このような9-パッチドロワブルある(この特定の一つは、ホロ光テーマのデフォルト状態のためhdpiバージョンです):

enter image description here

あなたがする必要がある三角形の色を変更するにはこれらの9パッチのドロワブルを少数ずつ変更します。各dpiと状態の組み合わせごとに1つのドロアブルがあります。また、Spinnerウィジェットのバックグラウンドとなるようにカスタム状態リストを描画可能にする必要があります。

ウィジェットの背景を変更するには、テーマを調整する必要があります。 ActionBarSherlock(ABS)を使用している場合、actionDropDownStyleアイテムとネイティブActionBarの変更android:actionDropDownStyleアイテム(AndroidネイティブActionBarを使用する場合でも、Android 4.0以降を実行するデバイスに使用されます)。

テーマのようなものでなければなりません:

ます場合は、ABSや Widget.Holo.Light.Spinner.DropDown.ActionBarを使用している場合代わりに MyDropDownActionBarStyleWidget.Sherlock.Light.Spinner.DropDown.ActionBarのようなものがあるはず
<style name="MyActionBarSpinnerStyle" parent="@style/MyDropDownActionBarStyle"> 
    <item name="android:background">@drawable/my_custom_state_list_drawable</item> 
</style> 

:ようなものでなければなりません

<style name="MyTheme" parent="SomeParentStyle> 
    <item name="actionDropDownStyle">@style/MyActionBarSpinnerStyle</item><!-- if you use ABS --> 
    <item name="android:actionDropDownStyle">@style/MyActionBarSpinnerStyle</item> 
</style> 

MyActionBarSpinnerStyleネイティブActionBarのみを対象とします。

関連する問題