4

ActionBarSherlockでアクションバーを作りました。アクションバーのスタイルを設定したいので、メニュー項目 (オーバーフローからポップアップするドロップダウン項目) を押すと、メニュー項目の背景の色が変わります。(今はデフォルトのホロブルーに変わります。別の色にしたいです)。

長いグーグル検索とテストの後、これを思いつきました:

themes.xml:

<style name="AppTheme" parent="Holo.Theme">

    <item name="android:popupMenuStyle">@style/PopupMenuStyle</item>
    <item name="popupMenuStyle">@style/PopupMenuStyle</item>
</style>


<style name="PopupMenuStyle" parent="@style/Widget.Sherlock.PopupMenu">
    <item name="android:dropDownSelector">@drawable/menu_selector</item>
</style>

menu_selector.xml: (のようにabs__list_selector_holo_dark.xml)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_window_focused="false" android:drawable="@android:color/transparent" />

    <item android:state_focused="true"  android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/abs__list_selector_disabled_holo_dark" />
    <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/abs__list_selector_disabled_holo_dark" />
    <item android:state_focused="true"                                android:state_pressed="true" android:drawable="@color/AppRed" />
    <item android:state_focused="false"                               android:state_pressed="true" android:drawable="@color/AppRed" />
    <item android:state_focused="true"                                                             android:drawable="@drawable/abs__list_focused_holo" />
    <item                                                              android:drawable="@color/AppRed" />
</selector>

残念ながら、背景は赤ではなく青に変わります。ここで何が欠けていますか?

4

1 に答える 1

5

これにより、ActionBar スタイルが生成されます。アクション バー アイテム セレクターを変更するアクセント カラーのみを変更することを選択できます (ただし、生成されるすべてのファイルをプロジェクトにコピーする必要があります)。

http://jgilfelt.github.io/android-actionbarstylegenerator/

于 2013-07-22T23:23:19.053 に答える