iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Android高仿QQ小红点功能
  • 758
分享到

Android高仿QQ小红点功能

android小红点 2023-05-31 01:05:08 758人浏览 薄情痞子
摘要

先给大家展示下效果图:代码已上传至GitHub:高仿QQ小红点,如对您有帮助,欢迎star~感谢绘制贝塞尔曲线:主要是当在一定范围内拖拽时算出固定圆和拖拽圆的外切直线以及对应的切点,就可以通过path.quadTo()来绘制二阶贝塞尔曲线了

先给大家展示下效果图:

Android高仿QQ小红点功能

代码已上传至GitHub:高仿QQ小红点,如对您有帮助,欢迎star~感谢

绘制贝塞尔曲线:

Android高仿QQ小红点功能

主要是当在一定范围内拖拽时算出固定圆和拖拽圆的外切直线以及对应的切点,就可以通过path.quadTo()来绘制二阶贝塞尔曲线了~

整体思路:

当小红点静止时,什么都不做,只需要给自定义小红点QQBezierView(extends TextView)添加一个.9文件当背景即可

当滑动时,通过getRootView()获得顶级根View,然后new一个DragView ( extends View ) 来绘制各种状态时的小红点,并且通过getRootView().addView()的方式把DragView 加进去,这样DragView 就可以实现全屏滑动了

实现过程:

自定义QQBezierView ( extends TextView ) 并复写onTouchEvent来处理各种情况,代码如下:

@Overridepublic boolean onTouchEvent(MotionEvent event) {  //获得根View  View rootView = getRootView();  //获得触摸位置在全屏所在位置  float mRawX = event.getRawX();  float mRawY = event.getRawY();  switch (event.getAction()) {    case MotionEvent.ACTION_DOWN:      //请求父View不拦截      getParent().requestDisallowInterceptTouchEvent(true);      //获得当前View在屏幕上的位置      int[] cLocation = new int[2];      getLocationOnScreen(cLocation);      if (rootView instanceof ViewGroup) {        //初始化拖拽时显示的View        dragView = new DragView(getContext());        //设置固定圆的圆心坐标        dragView.setStickyPoint(cLocation[0] + mWidth / 2, cLocation[1] + mHeight / 2, mRawX, mRawY);        //获得缓存的bitmap,滑动时直接通过drawBitmap绘制出来        setDrawinGCacheEnabled(true);        Bitmap bitmap = getDrawingCache();        if (bitmap != null) {          dragView.setCacheBitmap(bitmap);          //将DragView添加到RootView中,这样就可以全屏滑动了          ((ViewGroup) rootView).addView(dragView);          setVisibility(INVISIBLE);        }      }      break;    case MotionEvent.ACTION_MOVE:      //请求父View不拦截      getParent().requestDisallowInterceptTouchEvent(true);      if (dragView != null) {        //更新DragView的位置        dragView.setDragViewLocation(mRawX, mRawY);      }      break;    case MotionEvent.ACTION_UP:      getParent().requestDisallowInterceptTouchEvent(false);      if (dragView != null) {        //手抬起时来判断各种情况        dragView.setDragUp();      }      break;  }  return true;}

--结束END--

本文标题: Android高仿QQ小红点功能

本文链接: https://www.lsjlt.com/news/222782.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android高仿QQ小红点功能
    先给大家展示下效果图:代码已上传至Github:高仿QQ小红点,如对您有帮助,欢迎star~感谢绘制贝塞尔曲线:主要是当在一定范围内拖拽时算出固定圆和拖拽圆的外切直线以及对应的切点,就可以通过path.quadTo()来绘制二阶贝塞尔曲线了...
    99+
    2023-05-31
    android 小红点
  • Android仿QQ微信未读消息小红点BadgeHelper
    Android 小红点 未读消息功能 BadgeHelper 因为最近的项目需求,翻遍github上的未读消息红点开源库, 发现大部分 不能适配不同情况的布局, 所以我写了一个能兼容...
    99+
    2024-04-02
  • Android仿QQ首页ListView左滑置顶、删除功能
     Android 仿QQ首页ListView左滑置顶、删除等实现源码,具体内容如下效果图实现源码:package com.duguang.baseanimation.ui.listivew.deletelistview; ...
    99+
    2023-05-30
  • JavaGUI模仿QQ聊天功能完整版
    本文实例为大家分享了JavaGUI模仿QQ聊天功能完整代码,供大家参考,具体内容如下 ClientForm代码: package GUISocket.chat.Client; ...
    99+
    2024-04-02
  • C#仿QQ实现简单的截图功能
    目录实现功能开发环境实现代码实现效果接上一篇写的截取电脑屏幕,我们在原来的基础上加一个选择区域的功能,实现自定义选择截图。 个人比较懒,上一篇的代码就不重新设计了,就简单改一下呈现方...
    99+
    2024-04-02
  • Android实现QQ登录功能
    QQ登录是一个非常简单的一个第三方应用,现在,我们就来实现一个QQ登录首先下载两个jar包   这里上传不了jar包,所以可以到我的github中下载工程中libs中的两个jar包网址:https://github.co...
    99+
    2023-05-30
    android qq登录 roi
  • JavaGUI如何模仿实现QQ聊天功能
    小编给大家分享一下JavaGUI如何模仿实现QQ聊天功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下ClientForm代码:package GUISocket.chat.Client;import...
    99+
    2023-06-20
  • java仿QQ微信聊天室功能的实现
    话不多说,先上图                      &...
    99+
    2024-04-02
  • Android开发保存QQ密码功能
    本文实例为大家分享了Android保存QQ密码功能的具体代码,供大家参考,具体内容如下 技术要点: 使用文件储存的方式保存数据 实现步骤: ①用户交互界面的设计与实现②工具类(Fil...
    99+
    2024-04-02
  • JS如何模仿qq右下角消息弹窗功能
    小编给大家分享一下JS如何模仿qq右下角消息弹窗功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:在我们的日常开发中,...
    99+
    2024-04-02
  • Android实现消息提醒小红点效果
    本人分享一下,自己写的一个消息提醒小红点控件,支持圆、矩形、椭圆、圆角矩形、正方形五种图形样式,可带文字,支持链式操作。先看一下实现效果,随便测了几个控件(TextView、ImageView、RadioButton、LinearLayou...
    99+
    2023-05-30
    android 消息提醒 roi
  • JS如何模仿QQ好友列表展开、收缩功能
    这篇文章给大家分享的是有关JS如何模仿QQ好友列表展开、收缩功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图如下所示:js:<script>  wi...
    99+
    2024-04-02
  • Android怎么开发保存QQ密码功能
    本文小编为大家详细介绍“Android怎么开发保存QQ密码功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android怎么开发保存QQ密码功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。技术要点:使用文件...
    99+
    2023-06-30
  • 如何在Android应用中实现一个红点拖拽删除功能
    如何在Android应用中实现一个红点拖拽删除功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。CircleImageView核心代码private void ...
    99+
    2023-05-31
    android roi
  • Android如何实现仿微信@好友功能
    这篇文章主要介绍Android如何实现仿微信@好友功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先上个效果图就是这么个功能1. 分析需求输入@跳转到联系人界面,选中一个或者多个好友返回到当前界面按退格键删除整块内...
    99+
    2023-05-30
    android
  • Android实现未读消息小红点显示实例
    目录代码实现小红点实现总结使用 fragmentLayout 实现,可以把小红点添加到任意 view 上。 效果 添加小红点到 textview 上 添加小红点到 imagevie...
    99+
    2024-04-02
  • Android怎么实现未读消息小红点显示
    今天小编给大家分享一下Android怎么实现未读消息小红点显示的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用 fragm...
    99+
    2023-06-29
  • Android实现QQ侧滑(删除、置顶等)功能
    实现类似QQ滑动出现可操作项的功能,在网上看到有人自定义LinearLayout实现这个效果,但是灵活性有限。此demo使用开源项目SwipeLayout实现该功能。关于SwipeLayout的常用设置和属性,这里都做介绍,下面进入正题。一...
    99+
    2023-05-30
  • android仿微信联系人索引列表功能
    前言  因为自己在做的一个小软件里面需要用到从A-Z排序的ListView,所以自然而然的想到了微信的联系人,我想要的就是那样的效果。本来没打算自己去写,想要第三方写好的东西,搜了几个之后发现有的太复杂了,有的简单是...
    99+
    2023-05-30
  • Android仿iOS如何实现侧滑返回功能
    这篇文章将为大家详细讲解有关Android仿iOS如何实现侧滑返回功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先上个效果再说:原理Activity 本身是不可以滑动的,但是我们可以制造一个正在滑动 ...
    99+
    2023-05-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作