Android ActionBar

  1. ActionBar:位于标题栏的位置,提供了如下功能
    • 显示选项菜单的菜单项(将菜单项显示成Action Item)
    • 使用程序图标作为返回Home主屏或向上的导航操作
    • 提供交互式View作为Action View
    • 提供基于Tab的导航方式,可以用于切换多个Fragment
    • 提供基于下拉的导航方式
  2. 要关闭ActionBar 可以配置android:theme="@android:style/Theme.Holo.NoActionBar"
  3. ActionBar无法同时显示所有的选项菜单时,Android将会根据不同手机设备采取不同行为:
    • 对有menu键的手机,点menu键即可显示剩余菜单项,菜单项无法显示图标
    • 对于没有menu键的手机,android会在最后显示一个折叠图标,用户点击折叠图标就会显示剩余菜单

  4. MenuItem title中的内容通常情况下只会在overflow中显示出来,ActionBar中由于屏幕空间有限,默认是不会显示title内容的。但是出于以下几种因素考虑,即使title中的内容无法显示出来,我们也应该给每个item中都指定一个title属性:
    • 当ActionBar中的剩余空间不足的时候,如果Action按钮指定的showAsAction属性是ifRoom的话,该Action按钮就会出现在overflow当中,此时就只有title能够显示了。
    • 如果Action按钮在ActionBar中显示,用户可能通过长按该Action按钮的方式来查看到title的内容。
  5. ActionBar调用setDisplayHomeAsUpEnabled使图标变为可点击的按钮(也可以理解为菜单项),menu id为android.R.id.home

  6. ActionBar除了显示Action Item意外,还可以显示普通的UI组件,可以用如下两种方式:
    • 添加Action item时,设置android:actionViewClass指定Action view的实现类
    • 添加Action item时,使用android:actionLayout指定Action view对应的视图资源
  7. 使用ActionBar实现Tab导航需要调用ActionBar的setNavigationMode(ActionBar.NAVIGATION_MODE_TABS)方法进行设置,然后调用addTab方法添加多个Tab标签,并为每个Tab标签添加事件监听器.   系统会调整操作栏选项标签来适应不同尺寸的屏幕的需要,在屏幕足够宽的时候,导航选项标签会被放到主操作栏中;当屏幕太窄的时候,选项标签会被放到一个分离的横条中
  8. ActionBar还提供了下拉式导航方式,需要调用setNavigationg(ActionBar.NAVIGATON_MODE_LIST)方法设置使用下拉列表导航方式,调用setListNavigationCallbacks添加列表,并为每个列表设置事件监听器

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。