在XML中为ActionBar(不同于Logo)定义自定义徽标?

Kar*_*som 23 xml android styles android-actionbar

我想为我的应用制作一个Actionbar_style.xml,我想使用一个与我的应用徽标/图标不同的徽标.

如何在程序上更改它是明确的:以编程方式更改Android ActionBar中出现的徽标 但是像这样我需要将其编码到每个活动中.

是否有xml标签用于在xml中定义自定义Actionbarlogo?

我的Customstyles.xml

<style name="CustomActionBar0" parent="android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@drawable/action_bg0</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android styles.xml似乎没有它...

<style name="Widget.ActionBar">
    <item name="android:background">@android:drawable/action_bar_background</item>
    <item name="android:displayOptions">useLogo|showHome|showTitle</item>
    <item name="android:divider">@android:drawable/action_bar_divider</item>
    <item name="android:height">?android:attr/actionBarSize</item>
    <item name="android:paddingLeft">0dip</item>
    <item name="android:paddingTop">0dip</item>
    <item name="android:paddingRight">0dip</item>
    <item name="android:paddingBottom">0dip</item>
    <item name="android:titleTextStyle">@android:style/TextAppearance.Widget.ActionBar.Title</item>
    <item name="android:subtitleTextStyle">@android:style/TextAppearance.Widget.ActionBar.Subtitle</item>
    <item name="android:progressBarStyle">@android:style/Widget.ProgressBar.Horizontal</item>
    <item name="android:indeterminateProgressStyle">@android:style/Widget.ProgressBar.Small</item>
    <item name="android:homeLayout">@android:layout/action_bar_home</item>
</style>
Run Code Online (Sandbox Code Playgroud)

gar*_*bay 36

只需为android:icon属性设置一个值即可

<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/AppTheme.ActionBarStyle</item>
</style>

<style name="AppTheme.ActionBarStyle" parent="android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">@drawable/actionbar_background</item>
        <item name="android:titleTextStyle">@style/AppTheme.ActionBar.TitleTextStyle</item>
        <item name="android:icon">@drawable/ic_home</item>
        <item name="android:indeterminateProgressStyle">@style/IndeterminateProgress</item>
</style>
Run Code Online (Sandbox Code Playgroud)


adn*_*eal 2

您无需在样式 XML 中设置徽标样式,只需android:logo在清单中使用,然后setDisplayUseLogoEnabled()ActionBar. 这是来自 Google 的一个项目,向您展示如何在两者之间切换。http://code.google.com/p/styled-action-bar/