使用height
属性,actionBarSize
用于其他目的。
<item name="android:height">@dimen/bar_height</item>
说明:
来自ActionBar的源代码:
mContentHeight = a.getLayoutDimension(R.styleable.ActionBar_height, 0)
我们可以看到正在使用R.styleable.ActionBar_height
来设置高度。 Stylable
属性名称生成为component_attribute
(如果您曾经使用自定义的stylable
视图,您会注意到这一点)。因此,Actionbar
是组件的名称,而height
是要使用的属性的名称。由于这是系统属性,因此在android
命名空间下定义。
2014年12月更新:
AppCompat库现在提供了对最新ActionBar(或Toolbar)和主题支持的扩展,以支持旧版Android版本。以下是这种应用程序主题的示例 /res/values/styles.xml
:
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<item name="android:actionBarStyle">@style/AppTheme.ActionBar</item>
<item name="actionBarStyle">@style/AppTheme.ActionBar</item>
</style>
<style name="AppTheme.ActionBar" parent="Widget.AppCompat.Light.ActionBar">
<item name="android:titleTextStyle">@style/AppTheme.ActionBar.TitleText</item>
<item name="titleTextStyle">@style/AppTheme.ActionBar.TitleText</item>
<item name="android:height">@dimen/bar_height</item>
<item name="height">@dimen/bar_height</item>
</style>
<style name="AppTheme.ActionBar.TitleText" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textSize">@dimen/bar_text_size</item>
<item name="android:textColor">@color/bar_text_color</item>
</style>
</resources>
这种样式现在可以通过在AndroidManifest.xml
的<application>
标签中使用android:theme="@style/AppTheme"
来设置为应用程序主题。
请注意重复条目的使用
<item name="android:actionBarStyle">
<item name="actionBarStyle">
没有 android
命名空间的属性支持兼容库和本地属性。这些属性中的一些在旧版本中不存在于 android 命名空间下,并属于支持库。
在其他一些地方,您需要使用 app
命名空间(xmlns:app="http://schemas.android.com/apk/res-auto"
),例如在菜单 XML 文件中使用 app:showAsAction="always"
。
更新于2015年4月
AppCompat Library v22 也已经发布。阅读文章以了解新功能。
android:actionBarSize
对我有效,但 API 级别为 21。 - Shree Harsha S