问题描述
我正在用MotionEvent实现手写笔按钮。
因此,当我在不按手写笔按钮的情况下拖动屏幕时,我将从getActionMasked()中获得以下值:0(ACTION_DOWN),2(ACTION_MOVE)和3(ACTION_UP)
但是,当我按住手写笔按钮时,这些运动事件使我的getActionMasked()值分别为:211(ACTION_DOWN),213(ACTION_MOVE)和212(ACTION_UP)。
Android文档说BUTTON_STYLUS_PRIMARY的值为32,并且未将其指定为掩码值的可能部分。那么为什么我要得到211、213和212的掩码值?
我希望能够通过按下按钮来检测常规的测针运动和测针运动。但我不想做以下if语句
if (event.getActionMasked() == 213)
我想避免使用诸如213之类的常量值,因为它可能会在Android源代码中更改为其他值。相反,我想定期这样做:
if (event.getActionMasked() == MotionEvent.ACTION_MOVE)
但是我需要确定如何取消屏蔽212以获得2的实际值。我不需要这些额外的信息,因为我可以使用以下命令分别检查按钮的按下状态:
if (event.getButtonState() == MotionEvent.BUTTON_STYLUS_PRIMARY)
那么这是怎么回事?为什么按下按钮会更改ACTION_MOVE值?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)