android按键连续按下事件处理

本文介绍如何在Android中处理按键连续按下事件,以满足游戏开发中的移动按键需求。通过监听ACTION_DOWN和ACTION_UP事件,开启线程进行移动操作并在ACTION_UP时结束线程,确保物体在按键松开时停止移动。示例代码展示了如何在onTouch事件中处理这一逻辑。
摘要由CSDN通过智能技术生成

      android中有Button控件,针对Button控件有2个非常经典的处理事件那就是1、OnClick,即普通点击事件。

2、长按键事件,即当按键长时间被按下触发的一个事件。

但是我们实际处理中仅仅有他们可能不一定能完全满足我们的需求,例如:

游戏开发中一个移动按键,我们如果要实现按下按键物理持续移动,一直到我们松开按键物体才停止移动。


明显上述的需求,如果用我们的OnClick明显不能满足我们需求,因为必须按一下按键后松开才会触发OnClick,

而长按键事件,则只会触发一次,他也无法判断我们到底什么时候松开,即无法判断我们什么时候才停止移动。


针对上面我们谈到的移动按键需求,我的实现方式如下:

1、对按键进行触摸事件的监测

2、当监测到ACTION_DOWN时,开始开启一个线程一直执行我们的移动动作(当然要有一定睡眠延时)

3、当监测到ACTION_UP时,则将线程给结束



说了这么多原理,屌丝程序员早就不耐烦了吧,好吧那就直接上代码:

public boolean onTouch(final View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值