ActionBar是Android 3.0的新功能,位于标题栏的位置,显示在屏幕的顶部。它可以显示Activity的标题,图标。还可以显示活动项。
ActionBar可以实现如下功能。
1,显示选项菜单的菜单项(将菜单项显示为Action Item)
2,使用应用程序图标作为返货home或者向上返回。
3,提供交互式View作为ActionView。比如搜索
4,提供基于Tab的导航方式,可用于切换多个Fragment.
5,提供基于下拉的导航方式。
显示和隐藏ActionBar
show()显示
hide()隐藏
1,显示选项菜单的菜单项(将菜单项显示为Action Item)
通过ShowAsAction方法可以设置菜单项的显示方式
一般在Xml文件中设置
2,使用应用程序图标作为返货home或者向上返回。
setDisplayHomeAsUpEnable(boolean showHomeAsUp):设置是否将应用程序图标转变为客户以点击的图标,并显示向左的箭头
setDisplayOptions(int oprtions )通过传入的int类型常量设置显示选项
setDisplayShowHomeEnable (boolean showHome)设置是否显示应用程序图标
setHomeButtonEnable(boolean Enabled)设置是否将应用程序图标转变为可以点击
点击事件可以通过以下方法监听
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
if(id == android.R.id.home){
Toast.makeText(this,"返回",Toast.LENGTH_LONG).show();
}
return super.onOptionsItemSelected(item);
}
3,提供交互式View作为ActionView。比如搜索
<item
android:id="@+id/action_settings1"
android:orderInCategory="100"
android:showAsAction="always|collapseActionView"
android:title="@string/action_settings"
android:actionViewClass="android.widget.SearchView"/>
<item
android:id="@+id/action_settings2"
android:orderInCategory="100"
android:showAsAction="always|collapseActionView"
android:title="@string/action_settings"
android:actionLayout="@layout/action_clock"/>
可以通过viewclass或者布局文件创建