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


相关推荐: 如何快速重置建站主机并恢复默认配置?  如何制作一个表白网站视频,关于勇敢表白的小标题?  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  C语言设计一个闪闪的圣诞树  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  郑州企业网站制作公司,郑州招聘网站有哪些?  如何注册花生壳免费域名并搭建个人网站?  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Laravel如何使用模型观察者?(Observer代码示例)  如何为不同团队 ID 动态生成多个非值班状态按钮  如何在云指建站中生成FTP站点?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  Laravel如何与Inertia.js和Vue/React构建现代单页应用  利用 Google AI 进行 YouTube 视频 SEO 描述优化  如何快速搭建FTP站点实现文件共享?  Android okhttputils现在进度显示实例代码  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  如何自定义建站之星网站的导航菜单样式?  iOS正则表达式验证手机号、邮箱、身份证号等  jQuery 常见小例汇总  如何快速查询网站的真实建站时间?  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  Laravel如何使用Service Container和依赖注入?(代码示例)  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  如何用AI帮你把自己的生活经历写成一个有趣的故事?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  如何快速选择适合个人网站的云服务器配置?  b2c电商网站制作流程,b2c水平综合的电商平台?  如何登录建站主机?访问步骤全解析  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  香港服务器建站指南:免备案优势与SEO优化技巧全解析  详解CentOS6.5 安装 MySQL5.1.71的方法  iOS验证手机号的正则表达式  如何在VPS电脑上快速搭建网站?  如何在Windows 2008云服务器安全搭建网站?  香港服务器如何优化才能显著提升网站加载速度?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  如何快速搭建二级域名独立网站?  如何破解联通资金短缺导致的基站建设难题?  jQuery validate插件功能与用法详解  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  实例解析Array和String方法