Что мне нужно сделать, это найти верхний пиксель MotionEvent
. Я пытаюсь показать View
поверх того, где происходит прикосновение, достаточно высоко, чтобы его не мешало пальцем. Все, что я могу найти в API, предназначено для нахождения центра касания.Поиск верхней части MotionEvent
Идея состоит в том, чтобы поднять всплывающую подсказку выше, где пользователь прикасается. Базовая компоновка - FrameLayout
, поэтому добавление в представление не является проблемой.
Проблема заключается в том, чтобы найти количество пикселей пальца. Для дисплея с более высоким разрешением потребуется более высокое смещение, но такое же смещение может быть слишком высоким для дисплея с низким разрешением. – knacko
Если вы сделали это, создав прозрачный png, который был вертикальным прямоугольником, поместите ваш непрозрачный раздел в верхнюю половину прямоугольника и оставьте нижнюю прозрачным. Затем, если вы сделаете несколько из них и поместите их в drawable-mdpi, hdpi, ldpi и т. Д., Он отрегулирует размер экрана. поэтому, если вы сделаете нижнюю половину прямоугольника примерно размером с пальцем, он должен обязательно подтолкнуть фактическое изображение к северу немного, чтобы пользователь мог его видеть. – FoamyGuy
Либо это, либо предустановленные смещения в координатах x, y касания, основанных на разрешении, будут работать. Но, если пользователь использовал стилус или просто имеет очень толстый палец, смещения будут неправильными. – knacko