Android仿QQ未读消息--红点拖拽删除【源代码】

发布时间 - 2026-01-11 00:35:31    点击率:

本Demo是一款仿qq未读消息拖拽删除的例子,继承RelativeLayout的WaterDrop实现了圆形图标功能、继承ImageView的CircleImageView圆形图片功能、效果非常不错、很适合有圆形设计的哥们、效果图片如下

CircleImageView核心代码

private void updateShaderMatrix() {
 float scale;
 float dx = 0;
 float dy = 0;
 mShaderMatrix.set(null);
 if (mBitmapWidth * mDrawableRect.height() > mDrawableRect.width()
  * mBitmapHeight) {
 scale = mDrawableRect.height() / (float) mBitmapHeight;
 dx = (mDrawableRect.width() - mBitmapWidth * scale) * 0.5f;
 } else {
 scale = mDrawableRect.width() / (float) mBitmapWidth;
 dy = (mDrawableRect.height() - mBitmapHeight * scale) * 0.5f;
 }
 mShaderMatrix.setScale(scale, scale);
 mShaderMatrix.postTranslate((int) (dx 0.5f) mBorderWidth,
 (int) (dy 0.5f) mBorderWidth);

 mBitmapShader.setLocalMatrix(mShaderMatrix);
}

WaterDrop核心代码

public boolean onTouchEvent(MotionEvent event) {
 ViewGroup parent = getScrollableParent();
 switch (event.getAction()) {
 case MotionEvent.ACTION_DOWN:
 mHolderEventFlag = !CoverManager.getInstance().isRunning();
 if (mHolderEventFlag) {
  parent.requestDisallowInterceptTouchEvent(true);
  CoverManager.getInstance().start(this, event.getRawX(), 
  event.getRawY(), mOnDragCompeteListener);
 }
 break;
 case MotionEvent.ACTION_MOVE:
 if (mHolderEventFlag) {
  CoverManager.getInstance().update(event.getRawX(),
  event.getRawY());
 }
 break;
 case MotionEvent.ACTION_UP:
 case MotionEvent.ACTION_CANCEL:
 if (mHolderEventFlag) {
  parent.requestDisallowInterceptTouchEvent(false);
  CoverManager.getInstance().finish(this, event.getRawX(),
  event.getRawY());
 }
 break;
 }
 return true;
}

最后给贴上Demo的源代码,有兴趣的朋友可以下载看看

http://pan.baidu.com/s/1kU8OGL5

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# android  # qq未读消息  # 未读消息红点  # 消息红点  # Android中TabLayout添加小红点的示例代码  # Android实现消息提醒小红点效果  # Android应用图标上的小红点Badge实践代码  # Android高仿QQ小红点功能  # Android 未读消息的红点显示  # Android带数字或红点的底部导航拦和联网等待加载动画示例  # Android BadgeView红点更新信息提示示例代码  # Android开发中TextView 实现右上角跟随文本动态追加圆形红点  # Android自定义ActionProvider ToolBar实现Menu小红点  # Android 基于MediatorLiveData实现红点的统一管理  # 有兴趣  # 贴上  # 可以下载  # 非常不错  # 很适合  # 源代码  # 拖拽  # 实现了  # 是一款  # mShaderMatrix  # set  # null  # float  # updateShaderMatrix  # scale  # dy  # dx  # mBitmapHeight  # width  # setScale 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速生成凡客建站的专业级图册?  利用vue写todolist单页应用  如何实现javascript表单验证_正则表达式有哪些实用技巧  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  Java遍历集合的三种方式  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  Python并发异常传播_错误处理解析【教程】  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  青岛网站建设如何选择本地服务器?  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  如何在搬瓦工VPS快速搭建网站?  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  用v-html解决Vue.js渲染中html标签不被解析的问题  Firefox Developer Edition开发者版本入口  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Laravel观察者模式如何使用_Laravel Model Observer配置  Laravel如何为API生成Swagger或OpenAPI文档  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  *服务器网站为何频现安全漏洞?  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  Laravel如何记录自定义日志?(Log频道配置)  昵图网官网入口 昵图网素材平台官方入口  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  如何用AWS免费套餐快速搭建高效网站?  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  lovemo网页版地址 lovemo官网手机登录  佛山企业网站制作公司有哪些,沟通100网上服务官网?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  如何用免费手机建站系统零基础打造专业网站?  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  详解CentOS6.5 安装 MySQL5.1.71的方法  JavaScript Ajax实现异步通信  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  Laravel如何使用Gate和Policy进行授权?(权限控制)  大同网页,大同瑞慈医院官网?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何在云主机快速搭建网站站点?  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  中山网站制作网页,中山新生登记系统登记流程?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?