Android 开发10ActionBar 消息 通知 广播

热门标签

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

一、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 开发10ActionBar  消息  通知  广播
  • 菜单资源文件 item 示例
<item
android:id="@+id/search"
android:icon="@drawable/search"
android:title="@string/search"
app:showAsAction="always"></item>
<item

3、添加Action View

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

<item
android:id="@+id/search"
android:title="@string/search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always"
></item>
<item
android:id="@+id/img1"
android:title="@string/img1"
app:actionLayout="@layout/img_message"
app:showAsAction="always"></item>

说明

  • 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 的功能来实现返回

关键代码

<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实现对话框(四种)

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

 

标签:

未经允许不得转载:作者:SheaYang, 转载或复制请以 超链接形式 并注明出处 技术Dog|博客
原文地址:《Android 开发10ActionBar 消息 通知 广播》 发布于2019-10-30

分享到:
赞(0)

评论 抢沙发

5 + 4 =


Android 开发10ActionBar  消息  通知  广播

长按图片转发给朋友

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录