先推荐一个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>