钟钟的专栏

ActionBar 的使用记录:

1、先上几张效果图:

第一张效果图,只是选用的主题是 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!–Customize your theme here. –> </style>,

第二张效果图,背景颜色变了,同时标题信息换成了返回按钮的图标

第三张效果图,可以看到我们定义的标题居中显示了。

要实现以上效果其实非常简单,了解第二点ActionBar 的属性控制,相信我,你一定能做到。

2、ActionBar 的属性控制

要对 ActionBar 的属性进行控制,首先我们得知道它有哪些属性,

我们通过对<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">的代码跟踪,发现它继承了以下主题

<style name="Base.V11.Theme.AppCompat.Light.Dialog" parent="Platform.AppCompat.Light.Dialog"><item name="windowActionBar">true</item><item name="windowActionBarOverlay">false</item><item name="isLightTheme">true</item><item name="selectableItemBackground">@drawable/abc_item_background_holo_light</item><item name="selectableItemBackgroundBorderless">?attr/selectableItemBackground</item><item name="homeAsUpIndicator">@drawable/abc_ic_ab_back_mtrl_am_alpha</item><item name="dividerVertical">@drawable/abc_list_divider_mtrl_alpha</item><item name="dividerHorizontal">@drawable/abc_list_divider_mtrl_alpha</item><!– Action Bar Styles –><item name="actionBarTabStyle">@style/Widget.AppCompat.Light.ActionBar.TabView</item><item name="actionBarTabBarStyle">@style/Widget.AppCompat.Light.ActionBar.TabBar</item><item name="actionBarTabTextStyle">@style/Widget.AppCompat.Light.ActionBar.TabText</item><item name="actionButtonStyle">@style/Widget.AppCompat.Light.ActionButton</item><item name="actionOverflowButtonStyle">@style/Widget.AppCompat.Light.ActionButton.Overflow</item><item name="actionOverflowMenuStyle">@style/Widget.AppCompat.Light.PopupMenu.Overflow</item><item name="actionBarStyle">@style/Widget.AppCompat.Light.ActionBar.Solid</item><item name="actionBarSplitStyle">?attr/actionBarStyle</item><item name="actionBarWidgetTheme">@null</item><item name="actionBarTheme">@style/ThemeOverlay.AppCompat.ActionBar</item><item name="actionBarSize">@dimen/abc_action_bar_default_height_material</item><item name="actionBarDivider">?attr/dividerVertical</item><item name="actionBarItemBackground">?attr/selectableItemBackgroundBorderless</item><item name="actionMenuTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Menu</item><item name="actionMenuTextColor">?android:attr/textColorPrimaryDisableOnly</item>…省略部分代码…ActionBar 出现了,style 还是挺多的,

我们挑几个来看一下吧,

1、<item name="windowActionBar">true</item> <span style="font-family: Arial, Helvetica, sans-serif;">这个不解释。。。</span>2、<span style="font-family: Arial, Helvetica, sans-serif;"><item name="homeAsUpIndicator">@drawable/abc_ic_ab_back_mtrl_am_alpha</item></span><pre name="code" class="html">定义返回上一级按钮的图标,就是第二张图的返回箭头,3、<span style="font-family: Arial, Helvetica, sans-serif;"><item name="actionBarStyle">@style/Widget.AppCompat.Light.ActionBar.Solid</item></span><div>这个是控制 actionBar style 的主要属性,我们需要重点了解,那我们来看看它到底有哪些基本属性,还是根据源码,</div><div><pre name="code" class="html"> <style name="Widget.ActionBar"><item name="background">@drawable/action_bar_background</item><item name="displayOptions">useLogo|showHome|showTitle</item><item name="divider">@drawable/action_bar_divider</item><item name="height">?attr/actionBarSize</item><item name="paddingStart">0dip</item><item name="paddingTop">0dip</item><item name="paddingEnd">0dip</item><item name="paddingBottom">0dip</item><item name="titleTextStyle">@style/TextAppearance.Widget.ActionBar.Title</item><item name="subtitleTextStyle">@style/TextAppearance.Widget.ActionBar.Subtitle</item><item name="progressBarStyle">@style/Widget.ProgressBar.Horizontal</item><item name="indeterminateProgressStyle">@style/Widget.ProgressBar.Small</item><item name="homeLayout">@layout/action_bar_home</item></style>

以上属性我们都可以定义为 ActionBar 的 style,可以控制 actionBar 的背景颜色、高度、和 title 的字体样式等

那接下来我们看看怎么使用他们

有多少和我一样,坐在不足平米的空间里,

钟钟的专栏

相关文章:

你感兴趣的文章:

标签云: