安卓开发 之小白养成-ActionBar详解

本文详细介绍了Android中的ActionBar,包括其作用、功能、主要区域和样式主题。讲解了如何显示和隐藏ActionBar,如何添加动作项,使用Action Overflow,以及Action Bar的下拉导航和Tab导航。还涵盖了Action View和Action Provider的使用,以及处理用户交互的方法。
摘要由CSDN通过智能技术生成
  • 什么是ActionBar

在Android3.0之后,Google对UI导航设计上进行了一系列的改革,其中有一个非常好用的新功能就是引入的ActionBar,他用于取代3.0之前的标题栏,并提供更为丰富的导航效果。

Action bar是一个标识应用程序和用户位置的窗口功能,并且给用户提供操作和导航模式。在大多数的情况下,当你需要突出展现用户行为或全局导航的activity中使用action bar,因为action bar能够使应用程序给用户提供一致的界面,并且系统能够很好根据不同的屏幕配置来适应操作栏的外观。你能够用ActionBar的对象的API来控制操作栏的行为和可见性。

Action bar的主要目的:

 1.  提供一个用于识别应用程序的标示和用户的位置的专用空间。

2.  在不同的应用程序之间提供一致的导航和视觉体验。

Action bar提供了用于Fragment间切换的内置导航标签。它还提供了一个用于替换导航模式或优化当前视觉效果(如按照不同条件排序的列表)的下拉列表。

3.  突出Activity的关键操作(如“搜索”、“创建”、“共享”等),并且在可预见的方法内给用户提供快捷的访问。

    对于关键的用户操作,你能够通过把选项菜单项作为操作项直接放到操作栏中,从而提供快捷的访问。操作项目还能提供一个操作窗口,这个窗口给更直接的操作行为提供一个嵌入的窗口部件。没有改进成操作项的菜单项在溢出菜单中还是有效的,用户既可以使用设备上的菜单按钮(设备上有按钮的时候),也可以使用操作栏中的溢出菜单按钮(当设备上不包含菜单按钮时)来显示这些操作项目。

 

总结:Action bar就是替换3.0以前的tittle bar和menu。

 

 

ActionBar主要分为四个区:

  1. App Icon:可显示软件icon,也可用其他图标代替。当软件不在最高级页面时,图左侧会显示一个左箭头,用户可以通过这个箭头向上导航。
  2. 视图切换:如果你的应用要在不同的View中显示数据,这部分允许用户来切换View。一般的作法是用一个drop-down菜单或者是Tab Controls。如果只有一个界面,那这里可以显示App Title或者更长点的商标信息
  3. Action Buttons:这个放最重要的软件功能,放不下的按钮就自动进入Action overflow了。

     4.Action overflow:把不常用的Actions移到Action overflow

  • ActionBar的样式主题

从3.0开始,Android默认已经启用了ActionBar。

几个ActionBar的常用主题:在清单中的app标签或者是activity的标签里设置

android:theme="@android:style/Theme.Holo.NoActionBar" android:theme="@android:style/Theme.Holo.Light"

android:theme="@android:style/Theme.Holo"  

  • 显示和隐藏ActionBar
  1. 把主题设置Application或Activity的主题设置为:android:theme="@android:style/Theme.Holo.NoActionBar"则会隐藏ActionBar
  2. 但是在实际项目中,推荐使用代码控制ActionBar的显示和隐藏。

ActionBar bar = getActionBar(); //获得ActionBar对象

bar.show(); //显示ActionBar

            bar.hide(); //隐藏ActionBar

  • 给ActionBar增加动作项

 

有些时候,你可能需要让用户直接访问选项菜单中的一个项目,因此你要把应该在Action bar中显示的菜单项作为一个操作项来声明。操作项能够能够包含一个图标或文本标题。如果一个菜单项不作为一个操作项显示,那么系统就会把它放到悬浮菜单中。悬浮菜单既可以通过设备的Menu按钮来显示,也可以在Action bar中一个额外的按钮来显示。

 当Activity首次启动时,系统会调用onCreateOptionsMenu()方法给你的Activity组装Action bar和悬浮菜单。在这个回调方法中应该加载在XML文件中定义的菜单项资源,如:

    @Override  

    public boolean onCreateOptionsMenu(Menu menu) {  

        MenuInflater inflater = getMenuInflater();  

        inflater.inflate(R.menu.main_activity, menu);  

        return true;  

    }  

在菜单资源的xml文件中,你能够通过给<item>元素声明android:showAsAction=”ifRoom”属性,请求把一个菜单项作为一个操作项来显示。用这种方式,只在有有效的空间时,菜单项才能显示在Action bar中。如果没有足够的空间,这个菜单项会显示在悬浮菜单中。

如果你的菜单项支持标题和图标即带有android:title和android:icon属性---那么默认情况下,操作项仅显示图标。如果你要显示文本标题,就要给android:showAsAction属性添加withText设置,如:

  android:icon="@drawable/ic_menu_save"  

  android:title="@string/menu_save"  

 android:showAsAction="ifRoom|withText"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值