在 XML 中为 ActionBar 定义自定义徽标(与徽标不同)?
我想为我的应用程序制作一个 Actionbar_style.xml,并且我想使用与我的应用程序徽标/图标不同的徽标。
如何以编程方式更改它很清楚: 更改 Android 中出现的徽标以编程方式操作栏 但像这样我需要将其编码到每个活动中。
是否有一个 xml 标签可以在 xml 中定义自定义 Actionbarlogo?
我的 Customstyles.xml
<style name="CustomActionBar0" parent="android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@drawable/action_bg0</item>
</style>
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>
I want to make a Actionbar_style.xml for my app and I would like to use a logo, different than my app logo / icon.
How to change it programmatcially is clear: Change logo that appears in Android ActionBar programatically
But like this I would need to code this into each activity.
Is there a xml tag to define a custom Actionbarlogo in xml already?
my Customstyles.xml
<style name="CustomActionBar0" parent="android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@drawable/action_bg0</item>
</style>
android styles.xml seems not to have it...
<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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
只需为 android:icon 属性设置一个值
Just set a value for the android:icon attribute
您无需在样式 XML 中设置徽标样式,只需在清单中使用
android:logo
,然后使用setDisplayUseLogoEnabled()
在中设置它操作栏
。这是来自 Google 的一个项目,向您展示如何在两者之间切换。 http://code.google.com/p/styled-action-bar/You don't style the logo in the your style XML, you simply use
android:logo
in your Manifest, then usesetDisplayUseLogoEnabled()
to set it in theActionBar
. Here's a project, from Google, that shows you how to switch between the two. http://code.google.com/p/styled-action-bar/听起来您需要为操作栏使用自定义布局,这样您就可以定义您想要的徽标图像。
Action bar / ActionbarSherlock 样式
@layout/action_bar_home_icon_default 是您的自定义布局,带有您的自定义徽标
Sounds like you need to use a custom layout for the action bar, that way you can define a whatever you want for logo image.
Action bar / ActionbarSherlock style
@layout/action_bar_home_icon_default is your custom layout, with your custom logo
是的。您可以为不同的活动设置不同的标志。这是清单文件中的示例代码。
希望这有帮助。干杯!
Yes. You may set different logo for different activities. Here is the sample code in manifest file.
Hope this help. Cheers!