我正在用motionevent实现手写笔按钮。
因此,当我在屏幕上拖动而不按手写笔按钮时,我将从getactionmasked()获得以下值:0(action\u down)、2(action\u move)和3(action\u up)
但是,当我按住手写笔按钮时,这些运动事件会为我提供getactionmasked()值:211(action\u down)、213(action\u move)和212(action\u up)。
android文档中说button\u stylus\u primary的值是32,并且没有指定为掩码值的可能部分。那么为什么我要得到211213和212的屏蔽值呢?
我想能够检测到有规律的手写笔移动和手写笔移动的按钮按下。但我不想做下面的if语句
if (event.getActionMasked() == 213)
我希望避免使用像213这样的常量值,因为在android源代码中它可能会更改为不同的值。相反,我希望定期这样做:
if (event.getActionMasked() == MotionEvent.ACTION_MOVE)
但我需要确定如何取消掩码212以获得2的实际值。我不需要这些额外的信息,因为我可以简单地单独检查按钮按下状态:
if (event.getButtonState() == MotionEvent.BUTTON_STYLUS_PRIMARY)
这是怎么回事?为什么按键会改变动作值?
暂无答案!
目前还没有任何答案,快来回答吧!