Я пытаюсь получить размер касания (event.getSize
) с помощью библиотеки MotionEvent
. Похоже, что это не работает на некоторых устройствах, так как я получаю 0
для размера от события касания в Redmi Note 4
и Samsung Grand Prime
.
Он работает на других телефонах или на других, которые я пробовал, например, Moto E4 Plus
, Samsung J5 Pro
, Samsung A8(2018)
.
Я не прошу код для определения размера,но хотел бы знать, сталкивался ли кто-либо еще с такой проблемой.
Оба Samsung Grand Prime
и Redmi Note 4
покрыты glass protective film
. Сначала я подумал, что это может быть связано со стеклянной пленкой, но после удаления пленки на Redmi Note 4 я все еще не получаю сенсорный ввод.
Поскольку код работает в других телефонах, как упомянуто выше,Я не думаю, что это в коде, но я все равно опубликую код здесь:
someButton.setOnTouchListener (new View.OnTouchListener () {public boolean onTouch (View view, MotionEvent event) {
float getSize;
if (event.getAction() == MotionEvent.ACTION_DOWN) {
getSize = event.getSize();
Log.v( TAG, "event.getSize(): " + getSize );
return true;
} else if (event.getAction() == MotionEvent.ACTION_UP) {
// release
return false;
}
return someButton.onTouchEvent( event );
}
} );
Вывод журнала: I / MainActivity: getSize: 0.0 и, как показано на снимке экрана, параметр «Показать расположение указателя» в параметрах разработчика также не регистрирует значение размера.