您当前的位置:首页 > 电脑百科 > 程序开发 > 移动端 > Android

Android 开发:ActionBar & 消息 & 通知 & 广播全在这篇

时间:2019-10-15 12:02:43  来源:  作者:

 

一、ActionBar 使用

Action Bar就是应用最上面的长方形横条,里面的内容一般是App图标、app的名字、菜单按钮、tab导航等

1、显示和隐藏ActionBar

xml方法:就是在manifest 里面设置application或者 activity 的theme属性就可以实现显示和隐藏(带NoActionBar的主题)

JAVA方法:首先getSupportActionBar 获得bar,然后调用hide 或者 show 方法即可

2、添加Action Item

和前面创建选项菜单基本是一样的步骤,只是定义菜单的 item的时候多了一个 showAsAction的属性,具体的属性值参考如下

Android 开发(10)ActionBar & 消息 & 通知 & 广播全在这篇

 

  • 菜单资源文件 item 示例
Android 开发(10)ActionBar & 消息 & 通知 & 广播全在这篇

 


Android 开发(10)ActionBar & 消息 & 通知 & 广播全在这篇

 

3、添加Action View

就是往 ActionBar 上面添加组件

菜单资源文件示例如下:具体的view既可以通过类进行指定,也可以通过布局文件指定

Android 开发(10)ActionBar & 消息 & 通知 & 广播全在这篇

 

说明

  • actionLayout、showAsAction等的前缀都是 app 而不是 Android,需要引入相应的名称空间
  • action bar 的 setDisplayShowTitleEnabled 方法可以设置应用标题的隐藏和显示
  • getMenuInflater

4、ActionBar & tab

只有 tab 导航的action bar的实现

步骤:建几个 fragment -->实现 tabListener -->MainActivity中添加tab到action bar

关键代码

//tabListener实现类部分代码
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
if(fragment == null){
fragment = Fragment.instantiate(activity,clazz.getName());
fragmentTransaction.add(android.R.id.content,fragment,null);
}
fragmentTransaction.attach(fragment);
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
if(fragment != null){
fragmentTransaction.detach(fragment);
}
}
//mainActivity部分代码
ActionBar ab = getSupportActionBar();
ab.setDisplayShowTitleEnabled(false);
ab.setNavigationMode(ab.NAVIGATION_MODE_TABS);
ab.addTab(ab.newTab().setText("第一页").
setTabListener(new MyListener(AFragment.class,MainActivity.this)));
ab.addTab(ab.newTab().setText("第二页").
setTabListener(new MyListener(BFragment.class,MainActivity.this)));
ab.addTab(ab.newTab().setText("第三页").
setTabListener(new MyListener(CFragment.class,MainActivity.this)));

5、实现层级式导航

Android 开发(10)ActionBar & 消息 & 通知 & 广播全在这篇

 

原理

不是通过intent来实现返回的 activity 跳转

本质是设置父 Activity 集合Action Bar 的功能来实现返回

关键代码

<activity android:name=".BActivity">
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity"></meta-data>
</activity>
//子Activity代码
if(NavUtils.getParentActivityName(this) != null){
//这里是开启 ActionBar 的返回的图标
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

二、消息 & 通知 & 广播

1.Toast显示消息提示框

2.AlertDialog实现对话框(四种)

  • 普通对话框(有取消和确定按钮)
  • 列表对话框
  • 单选对话框
  • 多选对话框

最后

我准备了一些面试的知识汇总,数据结构,计算机网络等等都有。自己整理和分类的,还请尊重知识产出。

分享给大家的资料包括高级架构技术进阶脑图Android开发面试专题资料,还有高级进阶架构资料包括但不限于【高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术】希望能帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也是可以分享给身边好友一起学习的!



Tags:Android   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
Android logcat日志封装logcat痛点在Android开发中使用logcat非常频繁,logcat能帮我们定位问题,但是在日常使用中发现每次使用都需要传递tag,并且会遇到输出频率很高的log,在多...【详细内容】
2021-12-22  Tags: Android  点击:(8)  评论:(0)  加入收藏
一、 准备工作1、安装JDK,下载地址(可能需要一个oracle账号,大家百度一下或者自行注册一个就行。尽可能选择8或者11,这两个是长期版本)Java SE | Oracle Technology Network | Or...【详细内容】
2021-11-23  Tags: Android  点击:(28)  评论:(0)  加入收藏
如果你是一名忠实的Android玩家,那么可能会知道,今年的Android 12系统在版本规划上与“往届”相比可以说是很有些特殊。具体来说,除了前段时间刚刚推出正式版的Android 12外,谷...【详细内容】
2021-11-10  Tags: Android  点击:(24)  评论:(0)  加入收藏
使用Maven Publish Plugin插件。(官方支持)一、在Library的build.gradle中配置plugins { id &#39;com.android.library&#39; id &#39;kotlin-android&#39; id &#39;k...【详细内容】
2021-11-05  Tags: Android  点击:(37)  评论:(0)  加入收藏
今年5月,谷歌推出了Android 12,这是原生安卓系统史上最大的设计变化,10月4日,谷歌推出全新的Android12正式版本,并且宣布会在今年晚些时候应用于安卓设备,对比Android11的挤牙膏式...【详细内容】
2021-10-29  Tags: Android  点击:(125)  评论:(0)  加入收藏
今天凌晨,谷歌正式发布了全新一代安卓Android 12系统,拥有全新的UI,同时带来了六大新功能,除此以外还有10月的安全补丁,下面就给大家介绍这六大新功能以及安卓Android 12系统配置...【详细内容】
2021-10-22  Tags: Android  点击:(54)  评论:(0)  加入收藏
用户通过系统返回按钮导航回去的一组页面,在开发中被称为返回栈 (back stack)。多返回栈即一堆 "返回栈",对多返回栈的支持是在 Navigation 2.4.0-alpha01 和 Fragment 1.4.0...【详细内容】
2021-08-17  Tags: Android  点击:(76)  评论:(0)  加入收藏
前言耗电量指标 待机时间成关注目标 提升用户体验 通过不同的测试场景,找出app高耗电的场景并解决01需要的环境准备1、python2.7(必须是2.7,3.X版本是不支持的) 2、golang语言...【详细内容】
2021-08-04  Tags: Android  点击:(93)  评论:(0)  加入收藏
6 月 29 日,微软向 Windows 预览体验计划的 Dev 通道推送了 Windows 11 的第一个预览版本,我们也在第一时间升级到了最新系统,可以点击这里查看 APPSO 的抢先体验。 关于 Windo...【详细内容】
2021-07-14  Tags: Android  点击:(90)  评论:(0)  加入收藏
玩过王者荣耀的朋友,几乎无人不晓「鲁班七号」这个英雄。作为 Android 的应用程序包,「APK」对于资深 Android 用户来说,知名度并不亚于前者。 也正因如此,日前 Google 的一份声...【详细内容】
2021-07-08  Tags: Android  点击:(44)  评论:(0)  加入收藏
▌简易百科推荐
今天面试遇到同学说做过内存优化,于是我一般都会问那 Bitmap 的像素内存存在哪?大多数同学都回答在 java heap 里面,就比较尴尬,理论上你做内存优化,如果连图片这个内存大户内存...【详细内容】
2021-12-23  像程序那样思考    Tags:Android开发   点击:(8)  评论:(0)  加入收藏
Android logcat日志封装logcat痛点在Android开发中使用logcat非常频繁,logcat能帮我们定位问题,但是在日常使用中发现每次使用都需要传递tag,并且会遇到输出频率很高的log,在多...【详细内容】
2021-12-22  YuCoding    Tags:Android   点击:(8)  评论:(0)  加入收藏
对项目的基本介绍 1.整个框架主要是给MVVM框架使用的,自己写完interface接口后,通过自定义的注解就能自动生成接口方法 2.用Kotlin的Flow去代替Rxjava,因为我发现RxJava功能很...【详细内容】
2021-12-08  网易Leo    Tags:Android开发   点击:(17)  评论:(0)  加入收藏
前言在Android开发过程中,有些时候会根据需要引用别的项目到当前项目里面,而且以Module形式引用。所以本篇博文就来分享一下怎么以Module形式引用别的项目到当前项目中,方便开...【详细内容】
2021-12-07  网易Leo    Tags:Android开发   点击:(22)  评论:(0)  加入收藏
作者:fundroid这篇文章偏阅读一些,大家可以了解下 Android 的一些最新动向。每年9/10月份 Google 都会举行约为期2天的 Android Dev Summit,在活动上 Google 的技术专家们会分...【详细内容】
2021-11-30  像程序那样思考    Tags:Android开发   点击:(15)  评论:(0)  加入收藏
一、 准备工作1、安装JDK,下载地址(可能需要一个oracle账号,大家百度一下或者自行注册一个就行。尽可能选择8或者11,这两个是长期版本)Java SE | Oracle Technology Network | Or...【详细内容】
2021-11-23  永沧    Tags:Android   点击:(28)  评论:(0)  加入收藏
使用Maven Publish Plugin插件。(官方支持)一、在Library的build.gradle中配置plugins { id &#39;com.android.library&#39; id &#39;kotlin-android&#39; id &#39;k...【详细内容】
2021-11-05  羊城小阳    Tags:Android   点击:(37)  评论:(0)  加入收藏
谷歌离推出Play Store应用程序的新数据隐私部分又近了一步。应用程序开发人员现在可以通过谷歌在Play控制台的新 "数据安全表 "填写相关细节。该公司表示,所需信息将从2022年...【详细内容】
2021-10-20    中关村在线  Tags:安卓   点击:(58)  评论:(0)  加入收藏
架构究竟是什么?如何更好的理解架构?我们知道一个APP通常是由class组成,而这些class之间如何组合,相互之间又如何产生作用,就是影响这个APP的关键点。细分的话我们可以将其分为类...【详细内容】
2021-09-17  像程序那样思考    Tags:Android架构   点击:(52)  评论:(0)  加入收藏
概述当Android应用程序需要访问设备上的敏感资源时,应用程序开发人员会使用权限模型。虽然该模型使用起来非常简单,但开发人员在使用权限时容易出错,从而导致安全漏洞。本文中,...【详细内容】
2021-09-07  SecTr安全团队    Tags:Android开发   点击:(66)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条