Android – Prüfen ob eine View in der Scrollview aktuell sichtbar ist

Prüfen, ob eine View innerhalb einer Scrollview aktuell im sichtbaren Bereich ist, kann man mit folgender Funktion realisieren. Die Funktion gibt false zurück, sobald sich ein Teil der View außerhalb des sichtbaren Bereichs befindet. Dies eignet sich z.b. gut um bei Videoplayern automatisch beim scrollen in den Picture-In-Picture (PIP) Modus zu springen.

Kotlin:

private fun isViewVisible(view: View): Boolean {
    val scrollBounds = Rect()
    mScrollView.getDrawingRect(scrollBounds)
    val top = view.y
    val bottom = top + view.height
    return if (scrollBounds.top < top && scrollBounds.bottom > bottom) {
        true
    } else {
        false
    }
}

David

Ich konserviere hier meine Problemchen die mir im Arbeitsalltag begegnet sind. Konnte ich dir helfen, dann gerne den Danke Button drücken.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.