Action Bar是ANDROID应用用到的重要开发资源之一,Action Bar提供了一致的应用导航和视图切换方式,也提供了突出的和容易的以可预见的方式执行重要操作的方式。
Action Bar一般位于屏幕顶部,包括四个可操作区域:应用图标或LOGO区域,用于视图控制的Spinner下拉菜单或TAB控件区域,Action button(也称为Action Item)区域,提供溢出菜单的Action overflow区域。
另外Action Bar还提供与上下文选中项相关的Contextual Action Bar、以及与菜单项绑定的Action View以及提供共享服务的Share Action Provider。
从功能上整个系统类图分成相对对立的三个部分,一是视图控制部分、二是Action Provider部分、三是菜单呈现部分。
图1 ActionBar视图控制部分
图1为ActionBar视图控制部分类图。Action Bar包括几个显示区域,每个区域分别由不同的视图类型来显示,每个视图类型对应图1类图中的不同的视图对象。
应用图标对象所在视图对应ActionBarView对象的HomeView类型的内部视图对象mHomeLayout,ActionBarView的OnClickListener类型的回调对象mUpClickListener提供对应用图标操作的动作监听,从而通过回调传给实际ACTIVITY的onMenuItemSelected回调函数,在onMenuItemSelected回调函数中进行相应动作处理。
用于视图控制的Spinner下拉菜单对应ActionBarView中的Spinner对象mSpinner(通过创建一个SpinnerAdapter对象为其提供下拉菜单项),ActionBarView的AdapterView.OnItemSelectedListener类型的mNavItemSelectedListener是其事件的监听对象,当选中SpinnerAdapter对象的下拉项时触发事件,使mNavItemSe