* view双击监听事件
public
class
OnDoubleClickListener
implements
View
.
OnTouchListener
{
private
int
count
=
0
;
private
long
firstClick
=
0
;
private
long
secondClick
=
0
;
* 两次点击时间间隔,单位毫秒
private
final
int
totalTime
=
1000
;
* 自定义回调接口
private
DoubleClickCallback mCallback
;
public
interface
DoubleClickCallback
{
void
onDoubleClick
(
)
;
public
OnDoubleClickListener
(
DoubleClickCallback callback
)
{
super
(
)
;
this
.
mCallback
=
callback
;
* 触摸事件处理
* @param v
* @param event
* @return
@Override
public
boolean
onTouch
(
View v
,
MotionEvent event
)
{
if
(
MotionEvent
.
ACTION_DOWN
==
event
.
getAction
(
)
)
{
count
++
;
if
(
1
==
count
)
{
firstClick
=
System
.
currentTimeMillis
(
)
;
}
else
if
(
2
==
count
)
{
secondClick
=
System
.
currentTimeMillis
(
)
;
if
(
secondClick
-
firstClick
<
totalTime
)
{
if
(
mCallback
!=
null
)
{
mCallback
.
onDoubleClick
(
)
;
count
=
0
;
firstClick
=
0
;
}
else
{
firstClick
=
secondClick
;
count
=
1
;
secondClick
=
0
;
return
true
;
header.setOnTouchListener(new OnDoubleClickListener(new OnDoubleClickListener.DoubleClickCallback() {
@Override
public void onDoubleClick() {
if (recyclerView!=null){
recyclerView.smoothScrollToPosition(0);
}));
更新:
如果该view设置了点击事件,会发现无法响应!
这个也很好处理:我们在第一次点击或者是第二次点击判断出不是双击的时候,调用view.performClick()
即可!
本文转自:Android实现双击事件的监听Android实现view的双击事件监听,一般使用的场景,列表双击顶部回到第一条!双击监听/** * view双击监听事件 */public class OnDoubleClickListener implements View.OnTouchListener { private int count = 0;//点击次数 pr...
public class OnDoubleClickListener implements View.OnTouchListener{
private int count = 0;//点击次数
private long firstClick = 0;//第一次点击时间
private long secondClick = 0;//第二次点击时间
* 两次点击时间间隔,单
OnclickListener
关于这个即使是新手也会比较熟悉,毕竟我们很多教学就是以一个简单的点击事件的例子开始的。
不过防止有些零基础的自学的孩子在布局文件中傻傻写了“Onclick=… …”,大家不要笑哈,之前真的遇到过这样的诶,所以强调一遍,事件、活动等等这些一定一定要和布局文件完全分离开来,刚刚提的那个的确可以实现点击事件,可是真正地项目开发中是绝不会出现这种的,都implements View.OnClickListener,然后将指定控件setOnClickListener嘛
这个是我们用的最
一、前期基础知识储备
1.onTouchEvent()和onTouch()处理的对象是谁?
点击事件(Touch事件)。当用户触摸屏幕时(View 或 ViewGroup派生的控件),将产生点击事件(Touch事件)。常见的点击事件包括:单击、双击、触摸、滑动。
Touch事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象。
所以传入参数之后完整的方法展示:onTouchEvent(MotionEvent event)和onTouch(View v, MotionEventevent
首先写一个内部类继承View.OnTouchListener
private final class TouchListener implements View.OnTouchListener {
* 记录是拖拉照片模式还是放大缩小照片模式
private int mode = 0;// 初始状态
import android.os.Handler;
import android.view.MotionEvent;
import android.view.View;
import java.util.concurrent.atomic.AtomicInteger;
public abstrac...
public static DoubleClick getInstance() {
if (doubleClick == null) {
doubleClick = new DoubleClick();
最近在搞软件杯的事,要提取按键时的具体信息,包括按下去的时间和弹起的时间,还有按的是哪个键等等,发现用普通的OnClickListener无法做到,于是乎百度了一下,就用OnTouchListener这个监听器来做,可以监听动作。下面是代码
//这里用的是建立一个监听类,而我以前喜欢用的是用匿名内部类的方法,使用新建的类有个好处就是可以使代码简化
//对于到底是哪个按键调用的,利用了getId(
自定义View的onTouch
在项目开发的过程中,使用到了ImageView控件,要做选中状态,很自然的想到了selector方式,可就是这么一个简单的东西,足足折腾了我两三个小时。
selector选中状态莫名失效,对此网上有些对应的解决方法是,将selector中true的状态放在第一位置;
我想做longclick或者doubleclick都很麻烦
imageview无法响应onT...
from android.permission import request_permissions, Permission
request_permissions([Permission.TOUCHSCREEN])
from android import Android
droid = Android()
# 获取屏幕的宽度和高度
screen_width, screen_height = droid.getScreenSize()
# 计算屏幕的中心点
screen_center_x = screen_width / 2
screen_center_y = screen_height / 2
# 双击屏幕中心点
droid.touch(screen_center_x, screen_center_y, 'DOWN_AND_UP')
time.sleep(0.1)
droid.touch(screen_center_x, screen_center_y, 'DOWN_AND_UP')
这段代码使用了 `android` 库来模拟触摸屏幕的操作。首先,使用 `request_permissions` 函数请求触摸屏幕的权限。然后,使用 `Android` 类创建一个 Android 对象,通过调用它的 `getScreenSize` 方法获取屏幕的宽度和高度,并计算出屏幕的中心点。最后,通过调用 Android 对象的 `touch` 方法模拟双击屏幕中心点的操作。
希望这些内容能够帮到你。