ViewDragHelper练习使用】的更多相关文章

ViewDragHelper SlidingPaneLayout和DrawerLayout,现在这俩个类被广泛的运用,其实研究他们的源码你会发现这两个类都运用了ViewDragHelper来处理拖动. ViewDragHelper并不是第一个用于分析手势处理的类,gesturedetector也是,但是在和拖动相关的手势分析方面gesturedetector只能说是勉为其难. 好的特点 ViewDragHelper.Callback是连接ViewDragHelper与view之间的桥梁(这个vi…
2013年谷歌i/o大会上介绍了两个新的layout: SlidingPaneLayout和DrawerLayout,现在这俩个类被广泛的运用, 其实研究他们的源码你会发现这两个类都运用了ViewDragHelper来处理拖动.ViewDragHelper是framework中非常有用的一个工具. ViewDragHelper解决了android中手势处理过于复杂的问题,在DrawerLayout出现之前,侧滑菜单都是由第三方开源代码实现的,其中著名的当属MenuDrawer, 和sliding…
在自定义ViewGroup中,很多效果都包含用户手指去拖动其内部的某个View(eg:侧滑菜单等),针对具体的需要去写好onInterceptTouchEvent和onTouchEvent这两个方法是一件很不容易的事,需要自己去处理:多手指的处理.加速度检测等等. 好在官方在v4的支持包中提供了ViewDragHelper这样一个类来帮助我们方便的编写自定义ViewGroup.简单看一下它的注释: ViewDragHelper is a utility class for writing cus…
在自定义viewgroup的时候 要重写onInterceptTouchEvent和onTouchEvent 这2个方法 是非常麻烦的事情,好在谷歌后来 推出了ViewDragHelper这个类.可以极大方便我们自定义viewgroup. 先看一个简单效果 一个layout里有2个图片 其中有一个可以滑动 一个不能滑 这个效果其实还蛮简单的(原谅我让臭脚不能动 让BABY动) 布局文件: <?xml version="1.0" encoding="utf-8"…
在自定义ViewGroup的过程中,如果涉及到View的拖动滑动,ViewDragHelper的使用应该是少不了的,它提供了一系列用于用户拖动子View的辅助方法和相关的状态记录,像Navigation Drawer的边缘滑动.QQ5.x的侧滑菜单.知乎里的页面滑动返回都可以由它实现,所以有必要完全掌握它的使用. 要想完全掌握ViewDragHelper的使用和原理,最好的办法就是读懂它的源码,所以就有了这篇分析,以便在印象模糊之时可以再次快速回顾ViewDragHelper的原理.用法.注意事…
如上图简单呈现出两个方块后,提出一个需求: 1.拖动方块时,方块(即子View)可以跟随手指移动. 2.一个方块移动时,另一个方块可以跟随移动. 3.将方块移动到左边区域(右边区域)后放开(即手指离开屏幕),它会自动移动到左边界(右边界). 4.移动的时候给方块加点动画(duang~duang~duang~) . View移动的相关方法总结: 1. layout 在自定义控件中,View绘制的一个重写方法layout(),用来设置显示的位置.所以,可以通过修改View的坐标值来改变view在父V…
2013年谷歌i/o大会上介绍了两个新的layout: SlidingPaneLayout和DrawerLayout,现在这俩个类被广泛的运用,其实研究他们的源码你会发现这两个类都运用了ViewDragHelper来处理拖动.ViewDragHelper是framework中不为人知却非常有用的一个工具. ViewDragHelper解决了android中手势处理过于复杂的问题,在DrawerLayout出现之前,侧滑菜单都是由第三方开源代码实现的,其中著名的当属MenuDrawer ,Menu…
一.ViewDragHelper的原理 是一个能够自用移动ViewGroup内部View的控件. 通过获取ViewGroup的点击事件,之后通过Scroller滑动来进行对ViewGroup内部控件的移动. 二.ViewDragHelper的作用 ①.自由移动ViewGroup的内部控件 ②.仿QQ的侧滑栏 ③.拼图游戏啊之类的. 核心就是能够让View自由移动 三.制作简单的仿QQ的侧滑菜单 ①.自定义一个Layout,因为ViewDragHelper是对ViewGroup的处理. publi…
转载博客地址:http://www.cnblogs.com/flyme2012/p/4076674.html 这个Demo是用来练习VIewDragHelper的,也是仿照网上一个大神的代码.我通过他的代码学会的ViewDragHelper,然后仿照效果写的同样的效果. 原文连接:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0911/1680.html 效果图:   主要代码就是一个继承VIewGroup的类.写了注释,就…
Android ViewDragHelper完全解析 自定义ViewGroup神器   转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46858663: 本文出自:[张鸿洋的博客] 一.概述 在自定义ViewGroup中,很多效果都包含用户手指去拖动其内部的某个View(eg:侧滑菜单等),针对具体的需要去写好onInterceptTouchEvent和onTouchEvent这两个方法是一件很不容易的事,需要自己去处理:多…
ViewDragHelper作为官方推出的手势滑动辅助工具,极大的简化了我们对手势滑动的处理逻辑,v4包中的SlidingPaneLayout和DrawerLayout内部都有ViewDragHelper的身影,这里对这个强大的辅助工具类使用以及相关方法做个系统性的总结. 全文思路: 一.用ViewDragHelper实现一个简单效果,并对ViewDragHelper使用的常见思路进行总结 二.对ViewDragHelper相关API进行归纳分析 1.ViewDragHelper 2.ViewD…
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/47396187: 本文出自:[张鸿洋的博客] 一.概述 中间拖了蛮长时间了,在上一篇我们介绍了ViewDragHelper,详情:ViewDragHelper完全解析,当然了,上一篇都是小示例的形式去演示代码功能,并不能给人一种实用的感觉.那么,本篇博客就准备实用ViewDragHelper来实现一个DrawerLayout的效果,当然了,大家也可以选择直接去看Drawerla…
实现这样的效果: ## 侧滑面板(对ViewGroup的自定义)* 应用场景: 扩展主面板的功能* 功能实现: > 1. ViewDragHelper: Google2013年IO大会提出的, >  解决界面控件拖拽移动问题. (v4包下) > 2. mTouchSlop 最小敏感范围, 值越小, 越敏感 * 伴随动画: > 1. 左面板: 缩放动画, 平移动画, 透明度动画 > 2. 主面板: 缩放动画 > 3. 背景动画: 亮度变化 (颜色变化) * 状态监听\触摸…
参考:Android 之 ViewDragHelper 详解   Android 之 ViewDragHelper详解(二) 看了几篇博客,并参考了上面的两篇博客,整理一下ViewDragHelper相关的知识点,便于以后查看. 一.自定义对象中需要做的操作 1.使用ViewDragHelper.create静态方法创建ViewDragHelper对象. 2.重写自定义控件中的onInterceptTouchEvent(调用ViewDragHelper对象的shouldInterceptTouc…
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46858663. 本文出自:[张鸿洋的博客] 一.概述 在自己定义ViewGroup中.非常多效果都包括用户手指去拖动其内部的某个View(eg:側滑菜单等),针对详细的须要去写好onInterceptTouchEvent和onTouchEvent这两个方法是一件非常不easy的事,须要自己去处理:多手指的处理.加速度检測等等. 好在官方在v4的支持包中提供了ViewDragH…
使用ViewDragHelper打造属于自己的DragLayout(抽屉开关 ) DrawLayout这个自己定义的空间非经常见.qq,网易新闻.知乎等等,都有这样的效果,那这样的效果是如何实现的呢?本篇博客将带你来如何实现它. 转载请注明原博客地址: http://blog.csdn.net/gdutxiaoxu/article/details/51935896 废话不多说,先来看一下 效果 首先我们先来看一下我们要如何使用它 事实上只须要两个 步骤,使用起来 非常方便 1.在XML文件 Dr…
1.Drag拖拽:ViewDrag拖拽视图,拖拽控件:ViewDragHelper拖拽视图助手,拖拽操作类.利用ViewDragHelper类可以实现很多绚丽的效果,比如:拖拽删除,拖拽排序,侧滑栏等.本篇主要讲解简易侧滑栏的实现. 注意:ViewDragHelper是作用在一个ViewGroup上,也就是说他不能直接作用到被拖拽的控件view上, 因为控件的位置是由父控件决定的 2.相关方法: 1.create 2.setEdgeTrackingEnabled(拖动的方向) mDragHelp…
为了吸引大家的注意力,先给大家看一张动图: 相信这种效果大家都见过吧?我第一次见到这样的效果时,心里也痒痒的,急于想实现这种功能,后来因为拖延症的问题,就一直没有去弄这件事.现在这段时间,工作比较轻闲,所以对自己几年 Android 生涯所运用的技术做一些总结与思考.拖拽这种功能正好可以形成一个主题.如题目所示,今天博文的目标就是介绍与分析 ViewDragHelper 这个类. 读者阅读本文后将会有如下收获: 1. 不借助于 ViewDragHelper 实现基本的拖拽效果. 2. 借助于 V…
ViewDragHelper是用来移动ViewGroup中子View的,之前写View的移动都是通过scrollTo来实现,但是它移动的是VIew中的内容,ViewGroup中的所有的子View都会移动,我一直在找能够移动子View的方法.在Google的IO大会上,发布的DrawerLayout和SlidingPaneLayout,其内部实现都是使用的ViewDragHelper实现的.   首先使用方法: 1.ViewDragHelper不能被new出来,是通过    private voi…
概述 2013年谷歌i/o大会上介绍了两个新的layout: SlidingPaneLayout和DrawerLayout,现在这俩个类被广泛的运用.我们知道在我们实际的开发中往往会涉及到很多的拖动效果,而ViewDragHelper解决了android中手势处理过于复杂的问题. 其实ViewDragHelper并不是第一个用于分析手势处理的类,gesturedetector也是,但是在和拖动相关的手势分析方面gesturedetector只能说是勉为其难,其拓展性并不好. 为了方便大家的理解,…
事实上,有非常多方法能够实现一个Layout的抽屉拉伸效果,最常常的方法就是自己定义一个ViewGroup,然后控制点击事件.控制移动之类的,这样的方法的代码量多,并且实现起来复杂,后期维护添加其它效果也非常麻烦,直到今天看到了 ViewDragHelper这个类,就是专门为实现View的移动而生的.我就试着开发了一个抽屉拉伸的效果,效果图例如以下: 全部移动的控制在ViewDragHelper.Callback里面来实现.移动就用dragHelper.smoothSlideViewTo来实现,…
在上一篇ViewDragHelper的介绍后,已经完成了自定义控件SwipeLayout的滑动,这一篇,我们来处理它的点击事件.之前提到过,它有两个子view,最开始显示的是surfaceLayout,隐藏在右边的是bottomLayout.当你给surfaceLayout设置点击事件时,你会发现,surface确实可以点击,但向左滑动却什么反应都没有,还是在响应点击事件.原因是什么呢,通过对事件分发的认识,可以得出结论:由于给surfaceLayout设置了点击事件,导致这个子view的变成可…
在android的开发包android.support.v4.widget中有一个ViewDragHelper类.这个类的作用是帮助我们处理View的拖拽滑动.在一个ViewGroup类的内部定义一个ViewDragHelper,并且把onInterceptTouchEvent()和onTouchEvent()事件交给这个类去处理,这样也就免去了烦琐的事件处理判断. 1.创建实例 public static ViewDragHelper create (ViewGroup forParent,…
转载 http://www.toutiao.com/i6362292864885457410/?tt_from=mobile_qq&utm_campaign=client_share&app=news_article&utm_source=mobile_qq&iid=6611409663&utm_medium=toutiao_android getParent().requestDisallowInterceptTouchEvent(true); 解释:一次点击事件…
View滑动是自定义ViewGroup中十分常见的一个功能.Android提供了多种View滑动的方法. layout方法 offsetLeftAndRight()与offsetTopAndBottom方法 LayoutParams方法 scrollTo 与scrollBy方法 利用Scroller类 属性动画 ViewDragHelper 虽然Android提供了这个多方法,实际上他们的原理都是一样的,当触摸到View时,系统记下当前触摸点的坐标;当手指移动时,系统记下移动后的触摸点坐标,从而…
Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件. 本文试图将目前流行的组件收集起来以供参考, 如果你发现本文还没有列出的组件,欢迎在评论中贴出来,我会定期的更新本文. 部分图片需要FQ才能显示 很好的中文教程 Google Android官方培训课程中文版 awesome-android, android列表. 另,github上的一个项目, 收集了好多的Android开源项目.…
来源:http://blog.csdn.net/harvic880925/article/details/50995268 一.自定义控件三部曲之动画篇 1.<自定义控件三部曲之动画篇(一)——alpha.scale.translate.rotate.set的xml属性及用法>2.<自定义控件三部曲之动画篇(二)——Interpolator插值器>3.<自定义控件三部曲之动画篇(三)—— 代码生成alpha.scale.translate.rotate.set及插值器动画&g…
作者: AigeStudio  http://blog.csdn.net/aigestudio 说明:文中的1/12表示12篇中的第1篇, 1/6=2/12表示12篇中的第2篇,其它类似. 自定义控件其实很简单1-初识自定义控件 你只管在里面做你想做的事情就可,至于Android本身内部是如何实现的,你压根不用去管!Just do you things! 初学者不懂如何去自定义View并非是不懂其原理,而是不懂这些类似“档位”的方法! 自定义控件其实很简单2-Paint全解(1) 颜色过滤器Co…
Android中国开发精英 目前包括: Android开源项目第一篇--个性化控件(View)篇       包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style.其他    Android开源项目第二篇--工具库篇       包括依赖注入.图…
1.https://github.com/sd6352051/NiftyNotification 2.https://github.com/sd6352051/NiftyDialogEffects 3.ZrcListView:https://github.com/zarics/ZrcListView 一个顺滑又漂亮的Android下拉刷新与加载更多列表组件. 4.An Android Project.ViewDragHelper.QQ.QQ5.0.侧滑 地址:https://github.com…