下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

图文详解在Android UI开发如何使用ActionBar

作者:课课家教育     来源: http://www.kokojia.com点击数:940发布时间: 2016-06-07 09:00:24

标签: AndroidUIAndroid开发

  ActionBar是android窗口应用的一个特征,它主要用于标示应用程序及用户所处的位置并提供相关操作及全局的导航。ActionBar 是 Android 3.0(API level 11) 引入的一个新控件,它代表了应用程序标题栏,如果要开发兼容的程序,可以使用 v7 包下的 ActionBar。

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

  一、添加ActionBar

  1、不需要导入ActionBar,因为在android3.0或者以上版本中,ActionBar已经默认的包含在Activity中

  2、在Android3.0的默认主题“holographic”中,已经创造了ActionBar

  3、当android:minSdkVersion 或者 android:targetSdkVersion 属性被设置成11或者更高时,应用会被认为是Android3.0版本(默认含有ActionBar)

  二、隐藏ActionBar

  1、我们可以通过把主题设置为Theme.Holo.NoActionBar为一个Activity去除掉ActionBar。

  

  2\\我们也可以通过在代码中调用show()或者hide()方法来相应的显示或者隐藏ActionBar

  三、添加ActionBar的Item

  1、通过程序动态布局

  效果如图:

  2、通过Menu.xml文件布局

                                    程序:

  效果和上面一样

  四、关于菜单项过多

  当菜单项过多时,Android会分两种情况进行处理:

  1、手机有MENU实体键:则按下Menu键后会显示剩余菜单项

  2、手机没有MENU实体键:则会在最左边显示一个Action OverFlow按钮,按下后会显示剩余项菜单,如图:

  五、使用带字的Action Item

  1、Action item 默认格式是如果菜单项含字和图标的话,只显示图标

  2、如果想要显示字的效果,在xml里如下设置:android:showAsAction="ifRoom|withText" 或者在代码里调用setShowAsAction():setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM)

  六、ActionBar的单击事件

  1、ActionBar中一个菜单项(即Action item)的触发像以前版本中的活动菜单回调方法(onOptionsItemSelected())一样。

  2、当用户选择一个Fragment的菜单项时,首先会调用Activity的onOptionsItemSelected()方法,如果该方法返回false,则调用Fragment实现的onOptionsItemSelected()方

  法。

  七、应用的图标

  1、默认情况下,应用图标在ActionBar的左侧

  2、当用户点击应用bar的时候,系统会调用你的Activity里面的onOptionsItemSelected() 方法里面的Android.R.id.Home ID(你的主ID)里定义的事件。我们可以重写这个方法,添加一个条件执行该行为:让它跳转到这个应用的主Activity而不是返回的主屏幕。

  3、如果选择返回应用的主activity,最好的方式是在创建的Intent中添加FLAG_ACTIVITY_CLEAR_TOP这个标签。

  使用这个FLAG_ACTIVITY_CLEAR_TOP标签,如果应用的主Activity已经在activity栈中存在,所有在其上的activity都会被销毁,然后主activity会到栈顶,而不用创建主Activity的的新实例。

  当我们想实现用户点击ActionBar 图标后返回前一个activity,可以通过在Actionbar设置setDisplayHomeAsUpEnabled(true) 来实现。如图:

  八、添加活动视图

  ActionBar中还可以添加很多其他的视图

  我们也可以添加一个视图作为一个Action Item.我们可以通过在xml元素的android:actionLayout属性制定我们希望现实布局资源的ID(例如@layout/mysearchview)

  我们可以选择添加android:actionViewClass属性分配与完全限定的类名描述我们想要显示的视图(例如android.widget.SearchView)

  这样我们就添加了一个Search的视图,效果如下:

  九、ActionBar标签

  1、ActionBar可以现实选项卡供用户切换浏览该Activity中不同的Fragment

  2、每个标签都可以是一个图标或文本标题

  AB Tab页面:

  布局:

  activity_main.xml:相当于容器

       fragment_a.xml:每个fragment的布局:

  显示效果如图:

       本文介绍了UI导航设计的一些方法步骤,首先是添加ActionBar,然后隐藏ActionBar,再添加ActionBar的Item来做相关的布局,再来是对菜单、图标、导航等的一些设置。最终达成了想要的效果,在Android UI开发使用ActionBar做UI界面导航到这里就完成了,详细的内容请看回上文。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程