Android: Action Bar的使用

金鞍玉勒寻芳客,未信我庐别有春。这篇文章主要讲述Android: Action Bar的使用相关的知识,希望能为你提供帮助。
一、初识Action Bar 1、定义:
翻译为操作栏,包括app图标,activity标题,选项菜单,向上按钮,TAB导航等等。
2、添加Action Bar
在现在android Studio中,只要sdk版本大于11,则会默认添加。可以在AndroidManifest.xml中theme属性中选择noActionBar来不显示。
显示和隐藏Action Bar,API如下:

//获取Action Bar ActionBar actionBar = getSupportActionBar(); actionBar.show(); //显示actionBar actionBar.hide(); //隐藏actionBar

二、添加Action Item   1、定义
【Android: Action Bar的使用】在选项栏中带有快捷方式的按钮,即包括菜单项和溢出菜单。
Android: Action Bar的使用

文章图片

2、添加Action Item的方法
① 定义菜单资源文件在res下新建menu目录,新建menu文件,写上代码如下:
< ?xml version="1.0" encoding="utf-8"?> < menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> < item android:id="@+id/search" android:icon="@drawable/search" android:title="search" app:showAsAction="always"> < /item> < item android:id="@+id/bell" android:icon="@drawable/bell" android:title="bell" app:showAsAction="ifRoom"> < /item> < item android:id="@+id/settings" android:title="设 置" app:showAsAction="ifRoom"> < /item> < item android:id="@+id/about" android:title="关 于" app:showAsAction="never"> < /item> < /menu>

其中,app:showAsAction属性表示是否显示在actionbar上
属性值:
always:始终显示在actionbar上
ifRoom:表示如果actionbar有空间则显示,如果没有空间则显示在溢出菜单
never:永远不显示
withText:显示图标并且显示文本
② 在onCreateOptionsMenu()方法中加载菜单资源文件
//重写方法 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); //实例化对象 inflater.inflate(R.menu.menu,menu); //解析菜单资源文件 return super.onCreateOptionsMenu(menu); }

即可正常显示。
三、添加Action View即在ActionBar中添加一些可视的组件。
  实例在ActionBar中添加一个搜索框。
< ?xml version="1.0" encoding="utf-8"?> < menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:andriod="http://schemas.android.com/tools"> < item android:id="@+id/search" android:title="搜索" app:showAsAction="always" app:actionViewClass="android.widget.SearchView" /> < /menu>

app:actionViewClass="android.widget.SearchView" 属性可显示出ActionView中的搜索框并实现搜索功能。
在java文件代码和上步操作一样。
也可在ActionBar中添加布局文件,在menu.xml中的< item> 内添加app:actionLayout="",即可。
Android: Action Bar的使用

文章图片

  四、实现层级式导航即返回上一次的Activity。
Android: Action Bar的使用

文章图片

< !--为该Activity配置父Activity--> < activity android:name=".FriendsActivity" android:label="朋友圈"> < meta-data android:name="android.support.PARENT_ACTIVITY" android:value="https://www.songbingjia.com/android/.MainActivity"/> < /activity>


    推荐阅读