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. Python 2x -> 3.x

    Nowadays, Python 3 is becoming more and more popular than Python 2, but there are still a lot of cod ...

  2. Search Insert Position

    int searchInsert(int* nums, int numsSize, int target) { ; ); ; int mid; while(low<=high){ mid=(lo ...

  3. 《Python算法教程》译者序

    在计算机的世界中,算法本质上是我们对某一个问题或者某一类问题的解决方案.也就是说,如果我们想用计算机来解决问题的话,就必须将问题的解决思路准确而完整地描述出来,同时计算机也要能理解这个描述.这需要我们 ...

  4. Chapter 3: Develop the user experience

    Plan for search engine optimization and accessibility 使用analytical tools分析HTML,如SEO toolkit from MS, ...

  5. Ubuntu14.04用apt在线/离线安装CDH5.1.2[Apache Hadoop 2.3.0]-old

    用markdown重写,请稳步这里http://www.cnblogs.com/lion.net/p/5477899.html

  6. 在Angular1.X中使用CSS Modules

    在Angular1.5中,增加了一个Component方法,并且定义了组件的若干生命周期hook,在代码规范中也是推崇组件化开发,但是很遗憾的是,CSS模块化组件化的问题并没有得到解决,大部分项目的打 ...

  7. ORACLE 简化拼接

    and (in_sample.TEAM_GROUP = p_teamGroup or p_teamGroup is null);

  8. (转)php-curl响应慢(开发微信授权登陆时碰到的问题)

    最近在做一个php小项目的时候,发现curl调用微信的授权api.weixin.qq.com,经常是需要等待很久,但是有时候却很快. 刚开始以为是网络慢问题,没去注意.后面通过打上时间日志观察发现,慢 ...

  9. mfc 控件字体设置

    将以下代码加入至 OnInitDialog() 中 // TODO: Add extra initialization here CFont * m_font= new CFont; m_font-& ...

  10. java异常笔记

    1:<java核心技术卷一>473页提到:如果在子类中覆盖了超类的一个方法,子类方法中声明的已检查异常不能超过超类方法中声明的异常范围. 显然,如果子类中抛出的异常范围比超类还大.多态将无 ...