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动态图。(点击下载)
这样我们的小案例就完成了。很简单。