Как создать прозрачное наложение, чтобы отслеживать, помещает ли пользователь указатель на самый верх? ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Как создать прозрачное наложение, чтобы отслеживать, помещает ли пользователь указатель на самый верх?

Сообщение Anonymous »

Я хочу создать прозрачное наложение, которое будет глобальным (работает не только в моем собственном приложении) и не должно препятствовать взаимодействию со стоящим за ним приложением.
Я пытался создайте наложенный вид высотой 1 пиксель и разместите его на самом верху:

Код: Выделить всё

val params = WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
1,
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN or
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
PixelFormat.TRANSLUCENT
)
params.gravity = Gravity.TOP

val windowManager = context.getSystemService(WINDOW_SERVICE) as WindowManager
windowManager.addView(this, this.params)
//...
//...
//
override fun onGenericMotionEvent(event: MotionEvent?): Boolean {
// resolve event
return super.onGenericMotionEvent(event)
}
Таким образом, он может поместить представление на самый верх, но кажется, что onGenericMotionEvent может быть вызван, когда указатель перемещается между строкой состояния и панелью навигации. .


Подробнее здесь: https://stackoverflow.com/questions/792 ... inter-to-t

Вернуться в «Android»