Android 如何在我的应用程序中阻止MIUI 12部分截图手势?
我正在为Android创建一个钢琴应用程序,目前正在努力处理多点触控手势。 问题是: 用户希望同时播放三个键。他们按下钢琴键盘上的三个键,而不是播放它们,系统截取手势并打开部分屏幕截图(看起来如何) 如何防止这种行为?它可能是由某些事件冒泡引起的吗?两个、四个或更多的键同时工作,正如预期的那样。我还注意到,这种部分截图手势在其他一些应用程序(如Messenger或Reddit)中不起作用 PianoView.kt:Android 如何在我的应用程序中阻止MIUI 12部分截图手势?,android,kotlin,screenshot,partial,miui,Android,Kotlin,Screenshot,Partial,Miui,我正在为Android创建一个钢琴应用程序,目前正在努力处理多点触控手势。 问题是: 用户希望同时播放三个键。他们按下钢琴键盘上的三个键,而不是播放它们,系统截取手势并打开部分屏幕截图(看起来如何) 如何防止这种行为?它可能是由某些事件冒泡引起的吗?两个、四个或更多的键同时工作,正如预期的那样。我还注意到,这种部分截图手势在其他一些应用程序(如Messenger或Reddit)中不起作用 PianoView.kt: ... override fun onTouchEvent(event: Mo
...
override fun onTouchEvent(event: MotionEvent?): Boolean {
if(event == null) {
return false
}
val i = event.actionIndex
val touchedPianoKey: PianoKey? = getKeyAt(event.getX(i), event.getY(i))
return when (event.actionMasked) {
MotionEvent.ACTION_DOWN,
MotionEvent.ACTION_POINTER_DOWN -> {
if (touchedPianoKey != null) {
// play sound
}
true
}
MotionEvent.ACTION_UP,
MotionEvent.ACTION_POINTER_UP -> {
if(touchedPianoKey != null) {
// stop playing sound
}
true
}
MotionEvent.ACTION_CANCEL -> {
for (key in keys) {
// stop playing sound
}
true
}
else -> false
}
}