Użyj atrybutu height
, actionBarSize
, jeśli szukasz czegoś innego.
<item name="android:height">@dimen/bar_height</item>
Explanantion:
z kodu źródłowego ActionBar:
mContentHeight = a.getLayoutDimension(R.styleable.ActionBar_height, 0);
Widzimy, że R.styleable.ActionBar_height
jest używany do wysokości. Stylable
nazwy właściwości są generowane jako component_attribute
(Jeśli kiedykolwiek używałeś niestandardowego widoku stylable
, zauważysz to). W związku z tym Actionbar
jest nazwą komponentu, a height
jest nazwą używanego atrybutu. Ponieważ jest to atrybut systemowy, dlatego zdefiniowano go w obszarze nazw android
.
Aktualizacja gru-2014:
AppCompat library jest obecnie warunkiem przedłużenia wsparcia dla najnowszej ActionBar (lub paska narzędzi) oraz wsparcie motyw do starych wersji Androida. Poniżej znajduje się przykład takiego tematu aplikacji /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>
Ten styl może być ustawiony jako motywu aplikacji za pomocą android:theme="@style/AppTheme"
w <application>
tagiem AndroidManifest.xml
.
Uwaga stosowanie podwójnych wpisów
<item name="android:actionBarStyle">
<item name="actionBarStyle">
Te bez android
nazw są tam do wspierania zarówno bibliotekę kompatybilność i natywną attributes.Some tych atrybutów nie istnieje w przestrzeni nazw android na starszych wersjach należą do biblioteki wsparcia. W niektórych innych miejscach należy użyć przestrzeni nazw app
(xmlns:app="http://schemas.android.com/apk/res-auto"
), na przykład app:showAsAction="always"
w plikach menu xml.
Aktualizacja Kwi 2015
AppCompat Library v22 jest również dostępna. Przeczytaj ten artykuł, aby dowiedzieć się, co nowego.
Android ': actionBarSize' pracuje dla mnie, ale poziom API 21 –