首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自定义View学习——仿QQ消息气泡拖拽黏连删除

该篇主要是对MessageBubbleView仿QQ消息控件的修改。因为我发现这个QQ消息气泡开源控件是规则的圆,所以稍加修改,对onDraw()绘画图形做了变动,更加接近于QQ气泡了。...需要的文件图片请从文中提供的MessageBubbleView仿QQ消息控件下载。...参考博客:仿 QQ 未读消息气泡,可拖拽删除,粘连效果 参考博客中的实现思路: 首先我们需要两个圆,一个是在原点不需要跟随手指的圆,一个是跟随手指的圆,当用户开始点击时,绘制跟随手指的圆和圆上的未读消息数量...用户松开手指时,同样对两圆之间的距离进行判断,如在最远距离内,被拖动的圆自行回到原点,如超过最远距离,则在手指释放位置播放删除动画。 废话不多说,先看一下效果图: ?...+ 5)/ 2 mPath = new Path(); if (centerRadius <= 2) { //如果不是第一次创建,上次的拖动删除会因为中心圆半径随着拖放变为零

1.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

利用d3.jsQQ群资料进行大数据可视化分析

对于这种问题,普通关系型数据库的计算复杂度是O(N^c)左右或者更高,N为选择范围的数据集合大小,你好友数量加上好友的好友的数量等,c为关系层数。...图数据库的计算复杂度在O(N^2)左右或者更低,但是基本不会超过O(N^2)。...每个节点可以有很多自定义属性,在d3.js可以针对每个节点存取节点的属性,比如我定义num是QQ号或者群号,type代表节点是QQ还是群,另外我在js里设定在type==‘qun’的时候显示群的图标,是...首先,d3.js需要在浏览器里面运行,我的首选是Google Chrome,V8引擎的效率果然不错,在节点和关系不多的时候基本感觉不到延迟,后来在FF和IE11里面测试了一次,FF比Chrome卡一半左右...在下图中大家可以隐约的看到,所有的关系都是以QQ 10001为起点的。 ? 在图上节点是可以拖拽的,拖拽后会固定在你释放的地方。我们把几个群稍微拖的分开一点,关系就一目了然了 ?

3.9K70

Android 高仿微信朋友圈拍照上传功能

模仿微信朋友圈发布动态,输入文字支持文字多少高度自增,有一个最小输入框高度,输入文字有限制,不过这些都很easy! 1....PhotoPicker的使用 这是一个支持选择多张图片,点击图片放大,图片之间左右滑动互相切换的库,同时支持图片删除的库,效果类似微信。...().size() - 1){ // 如果是最后一个条目 则既不能拖拽也不能删除 dragFlags = 0; swipeFlags = 0; } else if(layoutManager instanceof...GridLayoutManager || layoutManager instanceof StaggeredGridLayoutManager){//网格布局 则支持上下左右拖拽 不支持删除 dragFlags...} }else{ //最后一个条目既不能拖拽也不能删除 相当于更多 dragFlags = 0; swipeFlags = 0; } return makeMovementFlags(dragFlags

1.5K20

你见过微信侧滑返回的联动效果,但开门效果、百叶窗效果见过吗?

2个方向,而DrawerConsumer支持上下左右4个方向 .addConsumer(new DrawerConsumer()) //设置横向(左右两侧)的抽屉为同一个view(常见的侧滑显示删除按钮的功能...它可以帮助我们处理控件的拖拽:先创建一个自定义ViewGroup,将被拖动的控件添加到这个自定义ViewGroup中,并用ViewDragHelper来处理控件的拖拽。...ViewDragHelper的主要作用是:拦截父容器的touch事件,捕获一个子控件来进行拖拽,通过改变这个子控件的left和top来将其在父容器中重新定位,从而达到拖拽的效果。...但是,ViewDragHelper的名称也表明它就是用来处理拖拽的,拖拽的对象必须是一个子View,在拖拽的过程中需要改变子控件的left和top,对于一些没有子View被拖拽的侧滑效果(例如:MIUI...系统的贝塞尔曲线侧滑返回效果、手机QQ的侧滑返回效果及MIUI官方app中的普遍使用了的弹性拉伸效果等等),却有点力有不逮。

1.5K10

Z-blogPHP《小清新》至简至美个人博客主题模板,自适应加SEO优化

2020/05/13 V、优化评论js代码,修改评论模板接口函数。 V、优化文章页文章推荐,删除阅读和评论数,修改成文章发布时间。 V、精简代码,提升网站打开速度!...2020/03/07 1.优化侧栏热门模块,模块管理-热门文章,拖拽到右侧侧栏,随意编辑文章,提交生成缓存文件即可。 2.优化网友反馈问题。 3.精简主题样式表和js文件。...2020/02/27 1.模块新增热门图文,需要关闭主题,重新启用才能出现新模块,模块管理,热门图文,拖拽到右侧侧栏即可。 2.修改和优化移动端菜单。...3.优化文章全局上下篇开关,左右空白区域显示上下篇,增加用户体验。 4.修改主题模板缩略图。 5.优化更新首页轮播图js代码,修复部分情况下360浏览器单击轮播不跳转的BUG。...然后顶部的QQ登录可以根据实际需求而定,需要插件来实现,安装免费的QQ登录插件,按照插件教程设置,然后将登录地址添加进去,保存就行了。

3.2K20

【第三篇】商城系统-基础业务-实现类别管理

如果出现如下错误 -Djps.track.ap.dependencies=false 添加相关配置即可 分类管理 1.后端分类接口 JDK8特性:https://blog.csdn.net/qq...http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许...http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com.../b.js 同一域名,不同协议 不允许 http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名对应ip 不允许 http://www.a.com/a.js...http://script.a.com/b.js 主域相同,子域不同 不允许 http://www.a.com/a.js http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie

92220

QQ 8.0改版策划故事

它既能很好的展示进度信息,又可以平衡气泡内的信息密度,让QQ多样化的用户群都能对语音进度拖拽有更直觉化的操作。 ? ? 2. 准确or美——直观体验至上 -“声纹是程序直接生成的,难道还需要设计?”...不止拖拽,更要畅快感受 1. 更大的响应区域 -“点击拖拽是常规操作,调用系统交互就好了吧?” 拖拽的确常规,但是在功能之外,我们能否让用户的操作体验更畅快呢?...拖拽事件的触发范围由气泡本身扩大到气泡的外边缘区域。 ? 第二次放大:拖拽中,拖动行为的响应范围扩大到全屏。...var first_sceen__time = (+new Date());if ("" == 1 && document.getElementById('js_content')) { document.getElementById...('js_content').addEventListener("selectstart",function(e){ e.preventDefault(); }); } (function(){ if

1.2K30

点滴匠心,声入人心

它既能很好的展示进度信息,又可以平衡气泡内的信息密度,让QQ多样化的用户群都能对语音进度拖拽有更直觉化的操作。 2. 准确or美——直观体验至上 -“声纹是程序直接生成的,难道还需要设计?”...不止拖拽,更要畅快感受 1. 更大的响应区域 -“点击拖拽是常规操作,调用系统交互就好了吧?” 拖拽的确常规,但是在功能之外,我们能否让用户的操作体验更畅快呢?...拖拽事件的触发范围由气泡本身扩大到气泡的外边缘区域。 第二次放大:拖拽中,拖动行为的响应范围扩大到全屏。一旦用户触发拖拽,系统将屏蔽聊天页面的所有操作,包括右滑返回、上下滚动和页面内的所有点击操作。...var first_sceen__time = (+new Date());if ("" == 1 && document.getElementById('js_content')) { document.getElementById...('js_content').addEventListener("selectstart",function(e){ e.preventDefault(); }); } (function(){ if

83540

Android分享:Android侧滑原来可以这么优雅

前言 侧滑手势在Android App应用得非常广泛,常见的使用场景包括:滑动抽屉、侧滑删除、侧滑返回、下拉刷新以及侧滑封面等。...来指定拖拽区域及捕获子控件的逻辑。...通过阅读ViewDragHelper的源码发现,它对view在父容器中的拖拽行为进行了封装,通过拦截父容器控件的手势事件,捕获需要拖拽的子控件,并实时根据手指的移动改变它的坐标,从而实现拖拽效果。...一行代码添加滑动透明效果 侧滑透明效果,侧滑后可显示被其遮挡的view,可用作侧滑删除,也可以用来制作封面效果 //侧滑删除 SmartSwipe.wrap(view) .addConsumer...一行代码添加开门效果 侧滑时,主view像开门一样从中间向两边(上下 或 左右)分开,透明显示它下层的视图 可用来制作封面、轮播图等 //用DoorConsumer实现百叶窗侧滑删除 SmartSwipe.wrap

1.5K20

获取任何小程序源码

大神写的node.js版本的,当然也有其它版本的,这里我只是简单地用node.js版本举例 地址:https://github.com/qwerty472123/wxappUnpacker 3.安卓模拟器...、微信、RE管理器 QQ、微信在模拟器自带的应用商店里搜索下载安装即可 RE管理器的下载地址:https://pan.baidu.com/s/1PPBx08rNutXxhlMMJbuTpQ 下载好后直接拖拽进打开的模拟器窗口就会自动安装...发送到我的电脑 如果不进行压缩的话,是无法将这个文件通过QQ来发送的  所以QQ的这个功能可以让我们很方便的拿到源文件,而不必到电脑目录去找模拟器的文件目录。...那么请在详情里把基础版本库调低至1.5左右,再试试  3、出现找不到某些文件的情况怎么办?我只能告诉:删!删!删!...app.json  里面,提示找不到那个文件,就将pages下注册的该页面语句暂时删除掉。删  到可以运行为止  4、还是无法运行?那就自己想办法吧!

4.2K30

从零开始学 Web 之 HTML5(四)拖拽接口,Web存储,自定义播放器

存储的容量 5MB 左右。 注意:sessionStorage 的存储特点: 这个数据本质是存储在当前页面的内存中,意味着其它页面和浏览器无法获取数据。...*/ document.querySelector("#removeData").onclick=function(){ /*在删除的时候如果key值错误,不会报错,但是也不会删除数据...2、删除数据的时候,如果 key 值错误,不会报错,但是也不会删除数据。 2、localStorage localStorage的使用: 存储的内容大概 20MB 大小 不同浏览器不能共享数据。...注意:jQuery中没有提供对视频播放控件的方式,所以如果使用jQuery操作元素,必须将其转为原生 js 的方式来调用这些方法。.../jquery.min.js"> $(function () { // 获取播放器文件 var video = $("video

1.5K20

2021,17个 最流行的 Vue 插件

作者: John Lim 译者:前端小智 来源:vuemastery 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、...特性 可拖拽 可调整大小 静态部件(不可拖拽、调整大小) 拖拽和调整大小时进行边界检查 增减部件时避免重建栅格 可序列化和还原的布局 自动化 RTL 支持 响应式 Vue Draggable 地址:https...Vue.Draggable 是一款基于 Sortable.js 实现的vue拖拽插件。...支持移动设备、拖拽和选择文本、智能滚动,可以在不同列表间拖拽、不依赖 jQuery 为基础、vue2 过渡动画兼容、支持撤销操作,总之是一款非常优秀的vue拖拽组件。...本文 GitHub https://github.com/qq44924588... 已收录,有一线大厂面试完整考点、资料以及我的系列文章。

4.3K10
领券