ActionBar.NAVIGATION_MODE_LIST:
ActionBar bar = this.getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
bar.setListNavigationCallbac
SimpleSpinnerArrayAdapte
ListListener关键要实现ActionBar.OnNavigationListener接口
ActionBar.NAVIGATION_MODE_STANDARD:
ActionBar bar = this.getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
之后若添加Tab且不为Tab设置监听,不会报错.Tab也不会显示.
ActionBar.NAVIGATION_MODE_TABS:
ActionBar bar = this.getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
TabListener tl = new TabListener(this,this);
Tab tab1 = bar.newTab();
tab1.setText("Tab1");
tab1.setTabListener(tl);
bar.addTab(tab1);
如果忘记在添加到操作栏的选项卡上调用setTabListener(),将会获得一个表明需要监听器的运行时错误.
ActionBar同时可以设置自定义的View
ActionBar bar = this.getActionBar();
bar.setCustomView(view);
在ActionBar的中间位置添加自定义的View
由于ActionBar的右边栏是Menu的集合在Activity:onCreateOptionsMenu(Menumenu)中添加
@Override
}
而在R.menu.main的\res\menu\main.xml文件中,可以定义普通的Menu也可以定义自定义的
<menu xmlns:android="http://schemas.android.com/apk/res/android">
</menu>
android:showAsAction让Menu如何显示,分为四种:
ifRoom;always;never;withText
ifRoom表示如果有空间就显示
always表示总是显示
never则会在最右边的其他Menu的列表中显示
withText无非就是显示加上Text
android:actionViewClass
可以自定相应的View,这边调用的是系统自带的android.widget.SearchView:点击Menu使Menu变长并成为搜索框
ActionBar的样式目前只知道能从Manifest中通过android:theme来指定自定义的theme来操作,自定义的theme必须继承ActionBar或者Holo,列如:parent="@android:style/Theme.WithActionBar"