mirror of
https://github.com/gedoor/legado.git
synced 2024-09-03 09:55:00 +08:00
滚动阅读时,多指触摸造成闪烁的问题
This commit is contained in:
parent
982a0d8e45
commit
bbb9fe2c0f
@ -182,13 +182,8 @@ class ReadView(context: Context, attrs: AttributeSet) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
//在多点触控时,事件不走ACTION_DOWN分支而产生的特殊事件处理
|
//在多点触控时,事件不走ACTION_DOWN分支而产生的特殊事件处理
|
||||||
if (event.actionMasked == MotionEvent.ACTION_POINTER_DOWN){
|
if (event.actionMasked == MotionEvent.ACTION_POINTER_DOWN || event.actionMasked == MotionEvent.ACTION_POINTER_UP){
|
||||||
//当多个手指同时按下的情况,将最后一个按下的手指的坐标设置为起始坐标,所以只有最后一个手指的滑动事件被处理
|
pageDelegate?.onTouch(event)
|
||||||
setStartPoint(event.getX(event.pointerCount - 1), event.getY(event.pointerCount - 1), false)
|
|
||||||
} else if(event.actionMasked == MotionEvent.ACTION_POINTER_UP){
|
|
||||||
//当多个手指同时按下的情况,当抬起一个手指时,起始坐标恢复为第一次按下的手指的坐标
|
|
||||||
setStartPoint(event.x, event.y, false)
|
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
when (event.action) {
|
when (event.action) {
|
||||||
MotionEvent.ACTION_DOWN -> {
|
MotionEvent.ACTION_DOWN -> {
|
||||||
|
@ -33,6 +33,15 @@ class ScrollPageDelegate(readView: ReadView) : PageDelegate(readView) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onTouch(event: MotionEvent) {
|
override fun onTouch(event: MotionEvent) {
|
||||||
|
//在多点触控时,事件不走ACTION_DOWN分支而产生的特殊事件处理
|
||||||
|
if (event.actionMasked == MotionEvent.ACTION_POINTER_DOWN){
|
||||||
|
//当多个手指同时按下的情况,将最后一个按下的手指的坐标设置为起始坐标,所以只有最后一个手指的滑动事件被处理
|
||||||
|
readView.setStartPoint(event.getX(event.pointerCount - 1), event.getY(event.pointerCount - 1), false)
|
||||||
|
} else if(event.actionMasked == MotionEvent.ACTION_POINTER_UP){
|
||||||
|
//当多个手指同时按下的情况,当抬起一个手指时,起始坐标恢复为第一次按下的手指的坐标
|
||||||
|
readView.setStartPoint(event.x, event.y, false)
|
||||||
|
return
|
||||||
|
}
|
||||||
when (event.action) {
|
when (event.action) {
|
||||||
MotionEvent.ACTION_DOWN -> {
|
MotionEvent.ACTION_DOWN -> {
|
||||||
abortAnim()
|
abortAnim()
|
||||||
|
Loading…
Reference in New Issue
Block a user