スクロールして、Viewが50%表示されたら何かするみたいな需要があるらしい
動画広告が自動的に再生されたりするあれですね。はい。
結論:こんな感じでどうでしょう
ViewExt.kt
fun View.visiblePercentage(): Int {
val visibleRect = Rect()
getLocalVisibleRect(visibleRect)
return round(((visibleRect.right - visibleRect.left) * (visibleRect.bottom - visibleRect.top)).toFloat() / (width * height) * 100).toInt()
}
可視化
きれいですね。
パッと見、あってそう
そうじゃない、このパターンが抜けてるじゃないかというのがあったらプルリクお待ちしております。