Es ist ziemlich selbsterklärend. Derzeit verwende ich SurfaceView und überlagert es über den realen Bildschirm. Ich kämpfe darum, wie ich den Touch -Pass machen kann, wenn das Overlay aktiv ist. < /P>
fun initialize() {
// Create the surface view
surfaceView = SurfaceView(context).apply {
setZOrderMediaOverlay(true)
holder.setFormat(PixelFormat.TRANSLUCENT)
holder.addCallback(this@AutoTranslationSurfaceRenderer)
// Set alpha on the view itself for visual transparency
alpha = 0.8f
// Set up touch listener to pass all events through
setOnTouchListener { _, event ->
// Return false to indicate we didn't handle the event
// This allows it to pass through to views below
false
}
isFocusable = false
isFocusableInTouchMode = false
}
// Add the surface view to the window with enhanced flags for cutout support
val params = WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN or
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS or
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
PixelFormat.TRANSLUCENT
).apply {
gravity = Gravity.TOP or Gravity.START
}
try {
windowManager.addView(surfaceView, params)
surfaceHolder = surfaceView?.holder
// Add a parent view touch listener to ensure touch events pass through
surfaceView?.parent?.requestDisallowInterceptTouchEvent(true)
} catch (e: Exception) {
Log.e(TAG, "Error adding surface view: ${e.message}")
}
}
Ich erwarte, den realen Bildschirm zu berühren und zu scrollen, wenn das Overlay aktiv ist.
Es ist ziemlich selbsterklärend. Derzeit verwende ich SurfaceView und überlagert es über den realen Bildschirm. Ich kämpfe darum, wie ich den Touch -Pass machen kann, wenn das Overlay aktiv ist. < /P> [code] fun initialize() { // Create the surface view surfaceView = SurfaceView(context).apply { setZOrderMediaOverlay(true) holder.setFormat(PixelFormat.TRANSLUCENT) holder.addCallback(this@AutoTranslationSurfaceRenderer) // Set alpha on the view itself for visual transparency alpha = 0.8f
// Set up touch listener to pass all events through setOnTouchListener { _, event -> // Return false to indicate we didn't handle the event // This allows it to pass through to views below false }
// Add the surface view to the window with enhanced flags for cutout support val params = WindowManager.LayoutParams( WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN or WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS or WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, PixelFormat.TRANSLUCENT ).apply { gravity = Gravity.TOP or Gravity.START }
// Add a parent view touch listener to ensure touch events pass through surfaceView?.parent?.requestDisallowInterceptTouchEvent(true)
} catch (e: Exception) { Log.e(TAG, "Error adding surface view: ${e.message}") } } [/code] Ich erwarte, den realen Bildschirm zu berühren und zu scrollen, wenn das Overlay aktiv ist.
Ich versuche, alle Klick -Ereignisse auf der übergeordneten Ebene in Jetpack komponieren und zu konsumieren, damit untergeordnete Komponisten (wie eine Schaltfläche) keine Klicks erhalten. Aber auch...
Insbesondere ist das Problem, dass meine Tkinter -Anwendung, die ich als oberste gesetzt habe, durch die Touch -Tastatur verdeckt wird. Es ist wie ein Maskottchen.
Der vereinfachte Code ist unten...
In meinem Fall habe ich Bootstrap-Dropdown-Multi-Selekten in TD verwendet, wo ich auch die Tabelle responsive Klasse verwendet habe, nur weil der Dropdown nicht richtig angezeigt wird. Responsive...
Ich entwickle eine Taxibuchungsanwendung in Laravel und stoße beim Versuch, Sitzungsdaten an eine Überprüfungsseite zu übergeben, auf ein Problem. Die Sitzungsdaten werden in den Controller-Methoden...