5

私はActionBarSherlockを使用しています。style.xmlファイルにdisplayOption"homeAsUp"があります。これで、アクティビティのタイトルの横に黒い矢印が表示されます。私のテーマは青い黒地に白を使用しているので、黒い矢印の色を変更するか、代わりにまったく新しいアイコンリソースを使用したいと思います。これどうやってするの ?

敬具。

4

2 に答える 2

15

エリックの答えに加えて、私はこれを正しくするために多くの時間を無駄にしました。

これらのアイテムは、親アプリケーションテーマに含まれている必要があり、継承Theme.Sherlockまたは類似している必要があることに注意してください。

<!-- CUSTOM APP THEME -->
<style name="AppTheme" parent="Theme.Sherlock">
    <item name="android:actionBarStyle">@style/AppTheme.ActionBarStyle</item>
    <item name="actionBarStyle">@style/AppTheme.ActionBarStyle</item>
    <item name="android:homeAsUpIndicator">@drawable/action_bar_ic_ab_back_holo_dark</item>
    <item name="homeAsUpIndicator">@drawable/action_bar_ic_ab_back_holo_dark</item>
</style>

から継承するカスタムアクションバーテーマにそれらを配置しないでくださいWidget.Sherlock.ActionBar

<!-- ACTION BAR THEME -->
<style name="AppTheme.ActionBarStyle" parent="Widget.Sherlock.ActionBar">
    <item name="android:icon">@drawable/action_bar_logo</item>
    <item name="icon">@drawable/action_bar_logo</item>
    <item name="android:displayOptions">showHome</item>
    <item name="displayOptions">showHome</item>
</style>
于 2012-11-22T08:00:28.003 に答える
2

ActionBarSherlockをスタイリングするときは注意してください!

これは、Webサイト( ActionBarSherlock Theming)からの抜粋です。

Androidのテーマシステムには制限があるため、テーマのカスタマイズは2つの属性で宣言する必要があります。通常のandroid-prefixed属性は、テーマをネイティブアクションバーに適用し、prefixedされていない属性はカスタム実装用です。両方のテーマAPIはまったく同じであるため、カスタマイズを2回実装するのではなく、2回参照するだけで済みます。

したがって、あなたの場合、2つの項目を定義する必要があります。

<item name="android:homeAsUpIndicator">@drawable/icon</item>

<item name="homeAsUpIndicator">@drawable/icon</item>

そうすれば、すべてのユーザーが同じL&Fを使用できるようになります。

于 2012-09-01T22:41:11.883 に答える