如何获取 RecyclerView 的滑动距离

如何获取 RecyclerView 的滑动距离,第1张

1、有两种方法:

(1)可参照:

switch (action) {

case MotionEventACTION_DOWN:

DownX = eventgetX();//float DownX

DownY = eventgetY();//float DownY

currentMS = SystemcurrentTimeMillis();//long currentMS 获取系统时间

break;

case MotionEventACTION_MOVE:

float moveX = eventgetX() - DownX;//X轴距

float moveY = eventgetY() - DownY;//y轴距离

long moveTime = SystemcurrentTimeMillis() - currentMS搜索;//移动时间

break;

case MotionEventACTION_UP:

break;}

(2)按照以下原理:

滑动其实只是不停的重绘图像,造成滑动的效果。

滑动其实是处理手的触屏事件,在你的View里有onTouch事件,里面会MotionEvent对象,里面保存当前手的位置坐标,你根据这个坐标计算手滑动的距离,一般是在收到ACTION_DOWN时保存按下的位置,然后ACTION_MOVE会不停的上报,计算得出滑动距离。

2、RecyclerView简介:

RecyclerView是v7的一个新控件。在v721+包中,是一个用来展示大量数据的组件,或者说,就是ListView的改善版本。RecyclerView本质上是以适配器为核心。缓存viewHolder,view包含在viewHolder内。自推出以来广受Android程序爱好者的推崇,然而不得不说这个控件存在着一个比较严重的问题,就是滑动的时候会有不可容忍的卡顿现象出现。

3、RecyclerView卡顿现象解决方法:

将耗时的 *** 作放到recyclerviewsetAdapter(adapter)之前运行,运行完后再将需要的参数传入Adapter里,此处重写一个adapter类继承Adapter就可以了。解决后运行,滑动恢复了流畅。

1、将下列文件拷贝到系统system32目录

dllEan13Decodedll

libiconv-2dll

libzbar-0dll

PropSdkdll

LbDecodeocx

dll的调用方法

函数:bOpenUsb20Video();

说明:打开识读器设备

函数:sGetBarData();

说明:获取扫码成功结果

函数:bCloseUsb20();

说明:关闭识读器事件:OnRecvBar();

2、注册控件

regsvr32 C:\WINDOWS\system32\LbDecodeocx

3、编写html代码<html<head<titleWEB验证二维码范例</title

<script language=javascript

function download1(){// return value ; 5--端口被占用,2--端口不存在, 0-- 成功

documentform1text1value=ActiveXDownbOpenUsb20Video();return;}</script

<script language=JavaScript for=ActiveXDown Event=OnRecvBar

documentform1text2value=ActiveXDownsGetBarData();

</script</head<body<OBJECT ID=ActiveXDown

CLASSID=CLSID:3CFCDE00-47A7-4674-8071-7F7FCDDF506F

CODEBASE=LbDecodeocx#version=1,0,0,0 width=0 height=0

</OBJECT<center<form name=form1

端口状况:<input type=text name=text1 size=50 value=<p

5--端口被占用,2--端口不存在, 0-- 成功 1-- 失败<p

switch (action) { case MotionEventACTION_DOWN: DownX = eventgetX();//float DownX DownY = eventgetY();//float DownY currentMS = SystemcurrentTimeMillis();//long currentMS 获取系统时间 break; case MotionEventACTION_MOVE: float moveX = eventgetX() - DownX;//X轴距离 float moveY = eventgetY() - DownY;//y轴距离 long moveTime = SystemcurrentTimeMillis() - currentMS;//移动时间 break; case MotionEventACTION_UP: break; }

以上就是关于如何获取 RecyclerView 的滑动距离全部的内容,包括:如何获取 RecyclerView 的滑动距离、如何在web页面读取二维码内容、手指在屏幕上移动,怎么获取到当前手指所在的坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9542292.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存