1

私のActionBarでは、「押された」状態の「アップアイコン」とロゴに真っ赤な境界線が表示されます(必要に応じて)。ただし、画像の透明度を通して明るい赤が表示されないため、画像は依然として ActionBar の通常の背景色を示しています。画像は透明で、デフォルトのテーマで動作します。しかし、ActionBar テーマ ジェネレーターを使用すると、動作しません。ただし、右側のアクション ボタンは正しく動作します。

押された状態を透明にすることで薄い赤を完全に消すことができるので、画像(またはその直接のコンテナ?)ではなく、画像の下のアイテムをスタイリングしていると思います。シャーロックは使っていません。最小SDK 16をターゲットにしています。

私のテーマxml:

...
<item name="android:actionBarItemBackground">@drawable/red_selectable_background</item>

私の red_selectable_background.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:exitFadeDuration="@android:integer/config_mediumAnimTime" >
    <item android:state_pressed="false" android:state_focused="true" android:drawable="@android:color/transparent" />
    <item android:state_pressed="true" android:drawable="@drawable/red_pressed_background" />
    <item android:drawable="@android:color/transparent" />
</selector>

私の red_pressed_background.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <solid android:color="@color/blood_red" />
</shape>

私の色:

<color name="blood_red">#a00f0f</color>
4

1 に答える 1

0

私は自分のスタイルを吹き飛ばし、新鮮に生成しました。私が見逃していたのは、ActionBar テーマを Holo テーマ (両方とも生成されたもの) とマージしたときに、生成された最上位の ActionBar テーマを適切にマージしなかったことだと思います。これで、以前に書いたカスタムのものは必要ありません。

基本的に、次の項目を android:Theme.Holo から継承するテーマにマージする必要がありました。

<item name="android:actionBarItemBackground">@drawable/selectable_background_xxx</item>
<item name="android:popupMenuStyle">@style/PopupMenu.xxx</item>
<item name="android:dropDownListViewStyle">@style/DropDownListView.xxx</item>
<item name="android:actionBarTabStyle">@style/ActionBarTabStyle.xxx</item>
<item name="android:actionDropDownStyle">@style/DropDownNav.xxx</item>
<item name="android:actionBarStyle">@style/ActionBar.Transparent.xxx</item>
<item name="android:actionModeBackground">@drawable/cab_background_top_xxx</item>
<item name="android:actionModeSplitBackground">@drawable/cab_background_bottom_xxx</item>
<item name="android:actionModeCloseButtonStyle">@style/ActionButton.CloseMode.xxx</item>
于 2013-10-11T21:14:06.780 に答える