在使用actionbar的过程中发现了一些小问题,困扰了我一段时间,记录在此,方便学习。

先推荐一个actionbar样式以及图标定制网站吧:http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

1.actionbar背景色的问题

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="AppTheme" parent="AppBaseTheme">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>
       
    <style name="MyActionBar" parent="@android:style/Widget.DeviceDefault.Light.ActionBar">
        <item name="android:background">#555555</item>   标题栏颜色
        <item name="android:backgroundStacked">#BBBBBB</item>  导航栏颜色
        <item name="android:backgroundSplit">#000000</item>  底部操作栏颜色
    </style>
</resources>

我原以为一个颜色属性控制所有的actionbar的颜色,不想是三个属性控制的,不过需要14版本的支持。

2.actionbar底部按钮间距的问题

android:actionViewClass属性来分别指定一个布局资源或要使用的可视构件类。例如

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:id="@+id/menu_search"
              android:title="@string/menu_search"
              android:icon="@drawable/ic_menu_search"
           android:showAsAction="ifRoom|collapseActionView"
           android:actionViewClass="android.widget.SearchView" />
</menu>

此时底部操作栏会将两边的按钮强制靠边即尽量增大按钮间距,这样不方便案首操作。明显的例子就是在魅族的flyme的smartbar上就没法中间显示。