模拟android里touch事件的滑动,适用于recyclerview等。

通过发送MotionEvent来模拟touch事件,配合ValueAnimator控制滑动的时间,也可以加入差值器等,之所以使用ValueAnimator,是因为一开始在测试的时候,发现给motion event设置downtime和eventtime根本没有起效,这两个time并不是用来控制event触发的时间,而是要用animator持续发出event才行。

ValueAnimator anim = ValueAnimator.ofInt(400, 250);        anim.setDuration(800);        final MotionEvent event =                MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 400, 500, 0);        view.dispatchTouchEvent(event);        anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {                 @Override            public void onAnimationUpdate(ValueAnimator animation) {                     int x = (int) animation.getAnimatedValue();                event.setLocation(x, 500);                event.setAction(MotionEvent.ACTION_MOVE);                view.dispatchTouchEvent(event);            }        });        anim.addListener(new AnimatorListenerAdapter() {                 @Override            public void onAnimationEnd(Animator animation) {                     event.setAction(MotionEvent.ACTION_UP);                view.dispatchTouchEvent(event);                event.recycle();            }        });        anim.start();

更多相关文章

  1. Android 事件拦截/分发机制 (图解+代码)
  2. android设置软键盘搜索键以及监听搜索键点击事件
  3. Android 事件处理基于Handler 消息处理
  4. android事件拦截处理机制详解
  5. Android监听事件四种方法
  6. Android 事件分发详解及示例代码
  7. React Native嵌入到Android原生应用中、组件的生命周期、颜色、
  8. Android四种点击事件方法

随机推荐

  1. Android(安卓)带文字的进度条,文字颜色随
  2. Android高手秘笈之View的绘制你应该知道
  3. 腾讯云实时音视频终端组件 TRTC SDK,覆盖
  4. Android(安卓)学习
  5. Android图片压缩的实例详解
  6. Android(安卓)adt v22.6.2 自动创建 appc
  7. 关于Android的面试题目汇总
  8. Android(安卓)异常捕获
  9. Android(安卓)5.0特性
  10. Android中MediaMuxer和MediaCodec用例 -