微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在我的应用中阻止 MIUI 12 部分截图手势?

如何解决如何在我的应用中阻止 MIUI 12 部分截图手势?

我正在为 Android 创建一个钢琴应用程序,目前我正在努力处理多点触控手势。 这是问题: 用户想要一次弹奏三个键。他们按下钢琴键盘上的三个键,而不是弹奏它们,系统拦截了手势并打开了部分截图叠加层(explanation看起来如何)

如何防止此类行为?会不会是某些 MotionEvent 冒泡引起的?两个、四个和更多键一次按预期工作。我还注意到,这种部分截图手势在 Messenger 或 Reddit 等其他一些应用程序中不起作用。

PianoView.kt:

...

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
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。