0
<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
    <item name="background">@drawable/bg_action_bar</item>
    <item name="android:background">@drawable/bg_action_bar</item>
    <item name="android:textColor">@color/my_red</item>
</style>

<style name="My_Style" parent="style/Theme.Sherlock.Light">
    <item name="android:actionBarStyle">@style/ActionBar</item>
    <item name="android:homeAsUpIndicator">@drawable/ic_action_back</item>
    <item name="homeAsUpIndicator">@drawable/ic_action_back</item>
</style>

「homeAsUpIndicator」と「android:homeAsUpIndicator」または「background」と「android:background」の違いは何ですか?

両方を設定する必要があるのだろうか?これらの例を見つけましたが、「android」名前空間を使用しない場合に設定しているものを見つけることができませんでした...

4

1 に答える 1

1

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

これが何を意味するかを正確に伝える最も簡単な方法は、例を使用することです。以下は、上記の「Styled」の例の完全なテーマです。

<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>

ActionbarSherlock のミラーリングされた属性の詳細を読む

于 2013-08-06T13:41:07.320 に答える