Использовать атрибут height
, actionBarSize
если что-то еще.
<item name="android:height">@dimen/bar_height</item>
Explanantion:
Из исходного кода ActionBar:
mContentHeight = a.getLayoutDimension(R.styleable.ActionBar_height, 0);
Мы можем видеть, что R.styleable.ActionBar_height
используется для высоты. Stylable
Имена свойств генерируются как component_attribute
(Если вы когда-либо использовали пользовательский вид stylable
, вы бы это заметили). Следовательно, Actionbar
- это имя компонента, а height
- это имя используемого атрибута. Поскольку это системный атрибут, следовательно, он определен в пространстве имен android
.
Update Декабрь-2014:
AppCompat library теперь предоставляется расширить поддержку последней ActionBar (или панель инструментов) и тема поддержки старых версий андроида. Ниже приведен пример такой темы приложения /res/values/styles.xml
:
<resources>
<!-- Application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- Main theme colors -->
<!-- your app branding color for the app bar -->
<item name="colorPrimary">@color/primary</item>
<!-- darker variant for the status bar and contextual app bars -->
<item name="colorPrimaryDark">@color/primary_dark</item>
<!-- theme UI controls like checkboxes and text fields -->
<!-- native widgets will now be "tinted" with accent color -->
<item name="colorAccent">@color/accent</item>
<!--Action bar style-->
<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>
Этот стиль теперь может быть установлен как приложение темы с помощью android:theme="@style/AppTheme"
в <application>
теге AndroidManifest.xml
.
Обратите внимание на использовании повторяющихся записей
<item name="android:actionBarStyle">
<item name="actionBarStyle">
Те без android
имен существует для поддержки как библиотеки совместимости и родную attributes.Some этих атрибутов не существует под андроидом имен на более старые версии и принадлежат библиотеке поддержки.
В некоторых других местах вам нужно использовать app
пространство имен (xmlns:app="http://schemas.android.com/apk/res-auto"
), например app:showAsAction="always"
в меню xml-файлов.
обновление Апрель 2015
AppCompat Library v22 также доступен. Прочитайте статью, чтобы узнать, что нового.
'андроида: actionBarSize' работает для меня, но уровень API 21 –