如何更改操作栏大小

我想改变操作栏的大小。 我已经尝试了以下编码。

<style name="MyTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:actionBarStyle">@style/CustomActionBar</item> </style> <style name="CustomActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> <!-- <item name="android:background">@drawable/action_bar_style</item> --> <item name="android:actionBarSize">15dp</item> <item name="android:background">@drawable/header_bar</item> </style> 

但是操作栏的大小没有改变。 有另一种方法吗? 我正在使用API​​级别11。

谢谢。

  • 如何在操作栏中像search框一样构buildGmail?
  • 用一个不确定的ProgressBarreplace一个ActionBar菜单项图标
  • 使用ActionBarSherlock向ActionBar添加按钮
  • 在更改PreferenceScreen时保持显示的操作栏
  • 在动作栏android上添加搜索图标
  • 如何强制操作栏溢出图标显示
  • 如何使Action Bar SearchView填充整个操作栏?
  • ActionBar行动项目不显示
  • 使用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_attributeforms生成的(如果您曾经使用过自定义的stylable视图,那么您会注意到这一点)。 因此, Actionbar是组件的名称, height是要使用的属性的名称。 由于这是一个系统属性,因此在android命名空间下定义。

    更新2014年12月:

    现在提供了AppCompat库 ,以将对最新的ActionBar(或工具栏)和主题支持的支持扩展到旧的Android版本。 以下是这种应用程序主题/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> 

    这种风格现在可以通过在AndroidManifest.xml <application>标签中使用android:theme="@style/AppTheme"来设置为应用主题。

    请注意使用重复条目

     <item name="android:actionBarStyle"> <item name="actionBarStyle"> 

    那些没有android命名空间的用于支持兼容性库和本地属性。其中一些属性在旧版本的android命名空间下不存在,属于支持库。

    在其他一些地方,您需要在菜单xml文件中使用app名称空间( xmlns:app="http://schemas.android.com/apk/res-auto" ),例如app:showAsAction="always"

    2015年4月更新

    AppCompat Library v22也可用。 通读文章,了解最新消息。

    简单地把我的主题风格下的actionBarSize项目,如下所示:

     <style name="MyTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:actionBarSize">15dp</item> <item name="actionBarSize">15dp</item> ... </style> 

    说明:

    在R.styleable中,我们看到R.styleable.Theme_actionBarSize是在主题级别定义的可定制属性。

    此外,从源代码res / values / styles.xml中,我们看到如何使用actionBarSize来设置height

     <style name="Widget.ActionBar"> ... <item name="android:height">?android:attr/actionBarSize</item> 

    确保将SD的代码添加到styles.xml,然后添加

     android:theme="@style/thin_ab" 

    到主清单中的<application>元素。 (我是一个noob,花了大约2个小时才发现。)

    将其添加到您从清单文件引用的自定义主题样式XML中:

     <item name="android:windowTitleSize">58dip</item> 

    例如,如果你的清单文件看起来像这样:

     <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" **android:theme="@style/AppTheme"** > 

    你的主题风格至less应该像这样:

     <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"> <item name="android:windowTitleSize">54dip</item> </style> 

    SD的解决scheme不适合我。 我使用的是AppCompat v-21库。 我只是补充一点

     android:layout_height="@dimen/actionBarSize" android:minHeight="@dimen/actionBarSize" 

    到我的布局文件,它的工作原理。

    有两种方法来更改操作栏大小。 1.使用清单文件

     android:theme="@style/AppTheme1" 

    2.程序哟可以使用

     public void onCreate(Bundle savedInstanceState) { setTheme(android.R.style.Theme); super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); }