一、低版本使用actionbar:
当api版本>=11时本身就有actionbar,当api<11时添加actionbar的方法如下。
1. 在AndroidManifest.xml的activity节点的属性字段添加:**android:theme="@android:style/Theme.Holo"**该方法对单一activity有效.
2. 将res/values/style.xml的AppBaseThem主题的parent节点改为:
android:Theme.Holo.Light.DarkActionBar该方法对整体activity有效。
二、注意事项:
1. 经常使用:用户百分之七十以上的访问都需要使用的操作,或者是要连续的多次使用的操作。
2. 重要:它是一个用户能够很容易找到的操作,即使它不是经常性的操作,也需要用户在需要的时候能够轻易的找到它,并执行。如,Wi-Fi设置中的添加网络等。
3. 典型:它是一些类似应用程序的操作栏中提供的典型操作,因此,用户都期望在操作栏中能够找到它。 如,电子邮件或社交应用程序中的“刷新”操作。另外,以下操作应该永远不要作为操作项来显示:设置、帮助、意见反馈、或类似的操作。要把它们始终保留在悬浮菜单中。
三、重要属性
1.res/menu/***.xml Item属性设置
1.1. 可选菜单项的设置:android:actionViewClass
a.搜索类型:android.widget.SearchView
1.2.android:actionProviderClass
a:系统:分享类型:android.widget.ShareActionProvider
b:自定义继承ActionProvider
1.3.菜单项的界面显示设置:android:showAsAction
ifRoom:会显示在Item中,但是如果已经有4个或者4个以上的Item时会隐藏在溢出列表中。当然个数并不仅仅局限于4个,依据屏幕的宽窄而定。
never:永远不会显示。只会在溢出列表中显示,而且只显示标题,所以在定义item的时候,最好把标题都带上。 always:无论是否溢出,总会显示。
withText:withText值示意Action bar要显示文本标题。Action bar会尽可能的显示这个标题,但是,如果图标有效并且受到Action bar空间的限制,文本标题有可能显示不全。
collapseActionView:声明了这个操作视窗应该被折叠到一个按钮中,当用户选择这个按钮时,这个操作视窗展开。否则,这个操作视窗在默认的情况下是可见的,并且即便在用于不适用的时候,也要占据操作栏的有效空间。可扩展
一般要配合ifRoom一起使用才会有效果。
2.启用分离式操作栏:
在AndroidManifest.xml的activity节点的属性字段添加。android:uiOptions=”splitActionBarWhenNarrow”属性
3.禁用和启用应用图标和标题
3.1:ActionBar: setDisplayShowHomeEnabled(boolean b)
3.2:ActionBar: setDisplayShowTitleEnabled(boolean b)
4.应用图标的事件在onOptionsItemSelected()方法中响应,使用方式如下
4.1: 返回应用程序的“主”Activity;
android4.0之后必须开启ActionBar:setHomeButtonEnabled(true)。才能返回主页
4.2: 向应用程序上级页面导航。
需要调用:ActionBar:SetDisplayHomeAsUpEnabledtrue(true)