仿QQ消息气泡提醒

时间:2023-03-09 18:51:51
仿QQ消息气泡提醒

https://github.com/dkmeteor/Bubble-Notification   感谢这位作者,本例子只是封装了一下源码。

这是jar下载地址 下载之后只要引用就好。下面是一个最简单的Demo,先看布局文件

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="lyf.com.bubblenotificationdemo.Main2Activity"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="10dp"
android:orientation="horizontal">
<TextView
android:text="推荐"
android:layout_gravity="bottom"
android:layout_weight="1"
android:gravity="center"
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="热播"
android:layout_gravity="bottom"
android:layout_weight="1"
android:gravity="center"
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="订阅"
android:layout_gravity="bottom"
android:layout_weight="1"
android:gravity="center"
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="消息"
android:layout_gravity="bottom"
android:layout_weight="1"
android:gravity="center"
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout> <com.dk.view.drop.WaterDrop
android:id="@+id/waterdrop"
android:layout_gravity="bottom|end"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="30dp"
android:gravity="center_vertical" /> </FrameLayout>

很简答的一个布局,看看主页面代码,也很简单

package lyf.com.bubblenotificationdemo;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast; import com.dk.view.drop.CoverManager;
import com.dk.view.drop.WaterDrop; public class Main2Activity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2); CoverManager.getInstance().init(this);
CoverManager.getInstance().setMaxDragDistance(250);
CoverManager.getInstance().setEffectDuration(150); WaterDrop drop = (WaterDrop) this.findViewById(R.id.waterdrop);
drop.setText("11"); drop.setEffectResource(R.drawable.bubble1);
drop.setOnDragCompeteListener(new CoverManager.OnDragCompeteListener() { @Override
public void onDragComplete() {
Toast.makeText(Main2Activity.this, "消息全部清空",Toast.LENGTH_SHORT).show();
}
}); } }

其中 drop.setEffectResource(R.drawable.bubble1); 为气泡消失的gif动态图。(点击下载

这样我们的小案例就完成了。很简单。