java android 有尾巴的气泡提示框 下拉框_Android 开发(10)ActionBar & 消息 & 通知 & 广播全在这篇!...

本文详细介绍了Android开发中的ActionBar使用,包括显示和隐藏、添加Action Item和Action View,以及如何实现tab导航。此外,还讲解了消息提示(Toast)、AlertDialog对话框和广播的相关知识。
摘要由CSDN通过智能技术生成

一、ActionBar 使用

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

1、显示和隐藏ActionBar

xml方法:就是在manifest 里面设置application或者 activity 的theme属性就可以实现显示和隐藏(带NoActionBar的主题) java方法:首先getSupportActionBar 获得bar,然后调用hide 或者 show 方法即可

2、添加Action Item

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

[图片上传失败...(image-9955a0-1570973518168)]

菜单资源文件 item 示例

android:id="@+id/search"

android:icon="@drawable/search"

android:title="@string/search"

app:showAsAction="always">

3、添加Action View

就是往 ActionBar 上面添加组件 菜单资源文件示例如下:具体的view既可以通过类进行指定,也可以通过布局文件指定

android:id="@+id/search"

android:title="@string/search"

app:actionViewClass="android.support.v7.widget.SearchView"

app:showAsAction="always"

>

android:id="@+id/img1"

android:title="@string/img1"

app:actionLayout="@layout/img_message"

app:showAsAction="always">

说明

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、实现层级式导航

原理

不是通过intent来实现返回的 activity 跳转 本质是设置父 Activity 集合Action Bar 的功能来实现返回

关键代码

android:value=".MainActivity">

//子Activity代码

if(NavUtils.getParentActivityName(this) != null){

//这里是开启 ActionBar 的返回的图标

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

}

二、消息 & 通知 & 广播

1.Toast显示消息提示框

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

普通对话框(有取消和确定按钮)

列表对话框

单选对话框

多选对话框

尾言

本文如有错误或不当之处,欢迎读者留言斧正,互相交流学习,小编不胜感激~如果你看到了这里,觉得文章写得不错就给个赞呗!欢迎大家评论讨论!定期免费分享技术干货。

4b29e1ee8651d18e2d76c644b1bafdfd.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值