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动态图。(点击下载

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

仿QQ消息气泡提醒的更多相关文章

  1. wpf实现仿qq消息提示框

    原文:wpf实现仿qq消息提示框 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/huangli321456/article/details/5052 ...

  2. js高仿QQ消息列表左滑功能

    该组件,主要功能类似于QQ消息列表左滑出现删除.标为已读等按钮的功能:现在的版本用的是纯javaScript编写:后续会跟进 angularJs 开发的类似组件以及jquery的; 下面,就让我们来认 ...

  3. Android 仿QQ消息界面

    values 下面 dimens.xml <resources> <!-- Default screen margins, per the Android Design guidel ...

  4. WinForm利用 WinApi实现 淡入淡出 弹出 效果 仿QQ消息

    消息框: using System.Runtime.InteropServices; namespace Windows_API_实现屏幕右下角_消息框_ { public partial class ...

  5. android QQ消息左滑动删除实例(优化版SwipeListViewEX)

    仿 QQ消息左滑动删除item消息实例 源代码参考:http://blog.csdn.net/gaolei1201/article/details/42677951 自己作了一些调整,全部代码下载地址 ...

  6. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  7. Android 仿QQ首页的消息和电话的切换,首页的头部(完全用布局控制)

    Android 仿QQ首页的消息和电话的切换,首页的头部(完全用布局控制) 首先贴上七个控制布局代码 1.title_text_sel.xml 字体颜色的切换 放到color文件夹下面 <?xm ...

  8. Android 高仿QQ滑动弹出菜单标记已读、未读消息

    在上一篇博客<Android 高仿微信(QQ)滑动弹出编辑.删除菜单效果,增加下拉刷新功能>里,已经带着大家学习如何使用SwipeMenuListView这一开源库实现滑动列表弹出菜单,接 ...

  9. iOS天气动画、高仿QQ菜单、放京东APP、高仿微信、推送消息等源码

    iOS精选源码 TYCyclePagerView iOS上的一个无限循环轮播图组件 iOS高仿微信完整项目源码 想要更简单的推送消息,看本文就对了 ScrollView嵌套ScrolloView解决方 ...

随机推荐

  1. IOS 关键字self,super,copy, retain, assign , readonly , readwrite, nonatomic、 @synthesize、@property、@dynamic

    IOS 关键字self,super,copy, retain, assign , readonly , readwrite, nonatomic.                     @synth ...

  2. MongoDB学习笔记八:复制

    [主从复制]最基本的复制方式就是建立一个主节点和一个或多个从节点,每个从节点要知道主节点的地址.运行mongod --master启动主服务器.运行mongod --slave --source ma ...

  3. Ret2Libc 练习(2) -- VirtualProtect

    这几天做了NSCTF和GCTF,耽误了几天,今天继续. 这次绕过DEP的方法是利用VirtualProtect函数将shellcode所在的内存属性改成可执行状态就可以绕过DEP了. 首先看一下Vir ...

  4. (转) Deep Learning Research Review Week 2: Reinforcement Learning

      Deep Learning Research Review Week 2: Reinforcement Learning 转载自: https://adeshpande3.github.io/ad ...

  5. Python之路,day8-Python基础

    ***面向对象的好处*** 更容易扩展.提高代码使用效率,使你的代码组织性更强,更清晰 更适合复杂项目的开发 封装 把功能的实现细节封装起来,只暴露调用接口 继承 多态 接口继承 定义 类----&g ...

  6. easycwmp的编译

    原创作品,转载请注明出处,严禁非法转载. copyright:weishusheng   2015.3.18 email:642613208@qq.com 注:此处的编译指的是直接用系统自带的gcc编 ...

  7. 0x00linux32位汇编初入--前期准备

    0x00汇编初入--前期准备 一.汇编工具 在linux平台下常用的编译器为as,连接器为ld,使用的文本编辑器为vim,汇编语法为att 以下是一些工具: addr2line 把地址转换为文件名和行 ...

  8. [转]编译安装libevent,memcache,以及php的memcached扩展

    一 安装libevent 1.去官网http://libevent.org/ 下载最新源码,我用的是libevent-2.0.20-stable.tar.gz 2.解压到/usr/src目录 ,执行命 ...

  9. Delphi 使用CreateProcess创建进程并弹出进程PID值 (转)

    var  ExeName:PChar;  StartupInfo:TStartupInfo;  ProcessInfo:TProcessInformation;begin  FillChar(Proc ...

  10. Python多线程、进程入门1

    进程是资源的一个集合, 1.一个应用程序,可以有多进程和多线程 2.默认一个程序是单进程单线程 IO操作使用多线程提高并发 计算操作使用多进程提高并发 进程与线程区别 1.线程共享内存空间,进程的内存 ...