金鞍玉勒寻芳客,未信我庐别有春。这篇文章主要讲述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的使用】在选项栏中带有快捷方式的按钮,即包括菜单项和溢出菜单。
文章图片
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="",即可。
文章图片
四、实现层级式导航即返回上一次的Activity。
文章图片
< !--为该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>
推荐阅读
- @GetMapping@PostMapping@PutMapping@DeleteMapping@PatchMapping
- 安卓学习06
- .net core编译时设置不自动生成“netcoreapp3.0”目录
- uni-app文章详情-富文本展示 优雅展示代码块
- 什么是MongoDB分片和最佳实践()
- 从MySQL迁移到MariaDB很容易!
- 推荐下一个项目的前11个开源数据库
- 如何在Ubuntu 18上安装Chromium浏览器()
- 如何安装和基本的MySQL命令示例