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

1.actionbar背景色的问题

1
2
3
4
5
6
7
8
9
10
11
<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属性来分别指定一个布局资源或要使用的可视构件类。例如

1
2
3
4
5
6
7
8
<?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上就没法中间显示。


去掉左侧图标:(http://www.eoeandroid.com/thread-542959-1-1.html)

自定义主题样式:
<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
        <item name="android:displayOptions">showTitle</item>
</style>
这样使用即可,默认的是        
<item name="android:displayOptions">useLogo|showHome|showTitle</item>