编者:李国帅
qq:9611153 微信lgs9611153
时间:2020-5-27
背景原因:
Android应用中会遇到收到这种情况,消息或通知后,在项目中所有Acitvity的顶部弹出浮动提示窗口,持续数秒钟,点击打开新页面。
模仿顶部弹出界面如下:
所需资源:
Android studio
设计流程:
具体流程:
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中控制限时弹出
4、广播事件对象
5、BaseActivity的内容布局
<?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>