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

Android ViewDragHelper使用介绍

ViewDragHelper是support.v4下提供的用于处理拖拽滑动的辅助类,查看Android的DrawerLayout源码,可以发现,它内部就是使用了该辅助类来处理滑动事件的. public...使用ViewDragHelper类的大体步骤分为3步: 步骤1.在自定义的ViewGroup子类下通过ViewDragHelper的静态方法获取到ViewDragHelper的实例引用,注意它是一个单例的...ViewDragHelper(forParent.getContext(), forParent, cb); } 可以发现它需要接收2个参数,参数1就是当前要使用ViewDragHelper的自定义控件的引用...这是以因为我们还没有重写clampViewPositionHorizontal方法,下面将介绍该方法的使用 /** * 根据建议值修正将要移动到的横向位置,此时没有发生真正的移动 * @param...总结 以上所述是小编给大家介绍的Android ViewDragHelper使用介绍,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

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

使用ViewDragHelper打造属于自己的DragLayout(抽屉开关 )

https://blog.csdn.net/gdutxiaoxu/article/details/51935896 使用ViewDragHelper打造属于自己的DragLayout(抽屉开关...首先我们先来看一下我们要怎样使用它 其实只需要两个 步骤,使用起来 非常方便 1.在XML文件 DragLayout至少要有两个孩子,且都是 ViewGroup或者ViewGroup的实现类 <com.xujun.drawerLayout.drag.DragLayout...本篇博客是使用ViewDragHelper来 处理触摸事件和拖拽事件的的,ViewDragHelper是2013Google IO大会推出的,目的是为了给开发者提供一个处理触摸事件,节省开发者的时间。...关于Google官方 关于ViewDragHelper的解释,简单来说就是处理ViewGroup的 触摸事件和拖拽事件 ViewDragHelper is a utility class for writing...---- 下面的代码有关于这几个方法的中文解释,这里就不详细讲解了 ViewDragHelper.Callback mCallback = new ViewDragHelper.Callback(

80120

Android使用ViewDragHelper实现QQ聊天气泡拖动效果

网上已有大神的实现效果是通过监听控件的OnTouchEvent事件的ACTION_DOWN,ACTION_MOVE,ACTION_UP事件来处理相应的拖拽效果,这里采用ViewDragHelper的方式去实现拖拽...,顺便学习了一下ViewDragHelper使用方式,拖拽时的粘连效果采用贝塞尔曲线来实现。...用ViewDragHelper实现拖拽效果 ViewDragHelper是Google在v4的支持包中提供的一款用来解决界面控件拖拽移动问题的类,使用时首先要通过ViewDragHelper.create...和onTouchEvent中添加代码,最后我们需要写一个类继承ViewDragHelper.Callback,重写其中的方法,就能实现拖拽效果了。...为了实现拖拽效果,我们首先需要写一个类DragLayout继承LinearLayout,在其中的控件都可以利用ViewDragHelper实现拖拽效果,在DragLayout的初始化方法中我们获取一个ViewDragHelper

1.3K10

Android ViewDragHelper及移动处理总结

注意:这里使用scrollBy(xOffset,yOffset);,你会发现并没有效果,因为以上两个方法移动的是View的content。...若在ViewGroup中使用,移动的是所有子View;若在View中使用,移动的是View的内容(比如TextView)。所以,不可在view中使用以上方法!...要想使用scrollBy,应该在View所在的ViewGroup中使用: ((View)getParent()).scrollBy(offsetX, offsetY); canvas 通过改变Canvas...ViewDragHelper 要理解ViewDragHelper,我们需要掌握以下几点: ViewDragHelper.Callback是连接ViewDragHelper与view之间的桥梁; ViewDragHelper...ViewDragHelper使用 ViewDragHelper的初始化 ViewDragHelper一般用在一个自定义ViewGroup的内部,比如下面自定义了一个继承于LinearLayout的DragLayout

1.5K80

Android 中通过ViewDragHelper实现ListView的Item的侧拉划出效果

关于ViewDragHelper使用,大家可以先看这篇文章ViewDragHelper使用介绍 实现该自定义控件的大体步骤如下: 1.ViewDragHelper使用的3部曲,初始化ViewDragHelper...,传递触摸事件,实现ViewDragHelper.Callback抽象类. 2.需要创建2个直接的子View,分别是前景View和背景View,代表ListView每一项Item的布局的组成,如下所示:...private void init() { mCallback = new ViewDragHelper.Callback() { //3.在回调方法中处理触摸事件 @Override public...mDragHelper.continueSettling(true)) { //动画还在继续 ViewCompat.postInvalidateOnAnimation(this); } } } 如何使用呢...使用该控件,必须要让其有2个直接的子控件,如下布局所示: <?xml version="1.0" encoding="utf-8"?

99851

Android利用ViewDragHelper轻松实现拼图游戏的示例

源码 https://github.com/kevin-mob/Puzzle ViewDragHelper 其实ViewDragHelper并不是第一个用于分析手势处理的类,gesturedetector...关于ViewDragHelper有如下几点: ViewDragHelper.Callback是连接ViewDragHelper与view之间的桥梁(这个view一般是指拥子view的容器即parentView...); ViewDragHelper的实例是通过静态工厂方法创建的; 你能够指定拖动的方向; ViewDragHelper可以检测到是否触及到边缘; ViewDragHelper并不是直接作用于要被拖动的...这里我们会用到ViewDragHelper这个处理手势滑动的神器。 在使用之前我们先简单的了解一下它的相关函数。...这里不能随意打乱顺序,否则你可能永远也不能复原拼图了,这里使用的办法是每次在不可见View附近随机找一个View与不可见View进行位置交换,这里的位置交换指的是布局参数的交换,同时对应的数据模型也需要进行数据交换

79420

实现Activity滑动退出

实现View的滑动有很多种方法,如自己在onTouchEvent中处理触摸事件,然后滚动View到相应位置,也可以用google V4包为我们提供的ViewDragHelper来处理触摸事件,我们这里选择后者...,因为滑动退出操作都是在屏幕的边缘时触发,而ViewDragHelper刚好提供了想要的实现,可以说利用ViewDragHelper来实现我们的需求非常简单。...attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } } 既然使用...ViewDragHelper,我们把触摸事件交给ViewDragHelper处理,ViewDragHelper不熟悉的同学,相关知识,网上一大堆,自行查看 @Override public...private void init() { mViewDragHelper = ViewDragHelper.create(this, 1.0f, new ViewDragHelper.Callback

1.1K20
领券