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 主题系统的限制,任何主题自定义都必须在两个属性中声明。普通的 android-prefixed 属性将主题应用于本机操作栏,unprefixed 属性用于自定义实现。由于两个主题 API 完全相同,您只需引用您的自定义两次,而不必实施两次。

准确传达这意味着什么的最简单方法是举个例子。以下是上述“样式化”示例的完整主题:

<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 回答