Verwenden Sie height
Attribut, actionBarSize
wenn für etwas anderes.
<item name="android:height">@dimen/bar_height</item>
explanantion:
Von Quellcode ActionBar:
mContentHeight = a.getLayoutDimension(R.styleable.ActionBar_height, 0);
Wir können sehen, dass R.styleable.ActionBar_height
zur Höhe verwendet wird. Stylable
Eigenschaftsnamen werden als component_attribute
generiert (Wenn Sie jemals eine benutzerdefinierte stylable
Ansicht verwendet haben, würden Sie dies bemerken). Daher ist Actionbar
der Name der Komponente und height
ist der Name des zu verwendenden Attributs. Da dies ein Systemattribut ist, daher unter android
Namensraum definiert.
Update-Dec-2014:
AppCompat library ist nun vorgesehen, für die neuesten ActionBar Unterstützung zu verlängern (oder Toolbar) und Theme-Unterstützung, um alte Android-Versionen. Unten ist ein Beispiel für eine solche Anwendung Thema /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>
Dieser Stil jetzt als App Thema eingestellt werden kann durch android:theme="@style/AppTheme"
in <application>
Tag des AndroidManifest.xml
verwenden.
Beachten Sie die Verwendung von doppelten Einträgen
<item name="android:actionBarStyle">
<item name="actionBarStyle">
Diejenigen ohne android
Namespace gibt es sowohl Kompatibilitätsbibliothek und nativen attributes.Some dieser Attribute nicht existieren auf älteren Versionen unter Android Namensraum für die Unterstützung und gehören zur Support-Bibliothek.
An einigen anderen Stellen müssen Sie app
Namespace (xmlns:app="http://schemas.android.com/apk/res-auto"
) verwenden, zum Beispiel app:showAsAction="always"
in Menü-XML-Dateien.
aktualisieren Apr 2015
AppCompat Library v22 ist ebenfalls verfügbar. Lesen Sie den Artikel, um zu wissen, was neu ist. styles.xml und fügen Sie dann
android:theme="@style/thin_ab"
zum <application>
Element im Haupt manifestieren
'android: actionBarSize' ist für mich arbeiten, aber API-Ebene 21 –