0
点赞
收藏
分享

微信扫一扫

Android中顶部限时弹出消息栏,点击打开新页面


编者:李国帅


背景原因:

Android应用中会遇到收到这种情况,消息或通知后,在项目中所有Acitvity的顶部弹出浮动提示窗口,持续数秒钟,点击打开新页面。

 

模仿顶部弹出界面如下:

Android中顶部限时弹出消息栏,点击打开新页面_xml

所需资源:

Android studio

 

设计流程:

Android中顶部限时弹出消息栏,点击打开新页面_android_02

具体流程:

1、收到消息后发送广播

PopInfoEvent.setClassTarget(InfoActivity.class);
//PopInfoEvent.setInfoNum(1);// 测试顶部弹出窗初始值设置
int num = PopInfoEvent.getInfoNum();
PopInfoEvent.setInfoNum(num + 1);
EventBusUtils.sendEvent(new PopInfoEvent());

2、程序中的普通界面继承基类Activity

public class CCCActivity extends BaseActivity

 

3、基类BaseActivity中控制限时弹出

Android中顶部限时弹出消息栏,点击打开新页面_xml_03

4、广播事件对象

Android中顶部限时弹出消息栏,点击打开新页面_android_04

5BaseActivity的内容布局

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<!-- TODO 特别需要注意:不能加下面注释掉的,不然会有问题 -->
<!-- android:fitsSystemWindows="true"-->
<RelativeLayout
android:id="@+id/ly_head"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent">

<!-- <android.support.v7.widget.Toolbar
android:id="@+id/toolbar_head"
style="@style/ToolbarStyle"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="#F2F2F2" />-->
<RelativeLayout
android:id="@+id/toolbar_head"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_48"
android:layout_alignParentTop="true"
android:background="#F2F2F2" />

<FrameLayout
android:id="@+id/fl_layout_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/toolbar_head"
android:background="@color/C_FFFFFF" />

<include
android:id="@+id/ll_pop_info"
layout="@layout/layout_pop_info" />

</RelativeLayout>
</layout>

6、顶部弹出布局

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_30"
android:background="#e0e0e0"
android:layout_alignParentTop="true"
android:orientation="vertical"
android:visibility="gone"
tools:visibility="visible">

<TextView
android:id="@+id/txt_pop_info"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="有新的消息,请及时查看"
android:textColor="#00D294"
android:textSize="@dimen/sp_14" />

</LinearLayout>

 

举报

相关推荐

0 条评论