Pages in Pager mode no longer overlaps cutout areas

Zooming in is still edge to edge, but the padding will make sure the top of the page is under the cutout area

If you can't tell I have a phone with a cutout now
pull/3963/head
Jays2Kings 4 years ago
parent 99010acc24
commit e5dbc3cbd7

@ -87,7 +87,7 @@ androidExtensions {
dependencies {
// Modified dependencies
implementation("com.github.inorichi:subsampling-scale-image-view:ac0dae7")
implementation("com.github.jays2kings:subsampling-scale-image-view:78f9664")
implementation("com.github.inorichi:junrar-android:634c1f5")
// Android X libraries

@ -13,6 +13,7 @@ import android.view.MotionEvent
import android.view.ViewGroup
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
import android.view.WindowInsets
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.LinearLayout
@ -365,6 +366,15 @@ class PagerPageHolder(
setMinimumDpi(90)
setMinimumTileDpi(180)
setCropBorders(config.imageCropBorders)
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
val insets: WindowInsets? = viewer.activity.window.decorView.rootWindowInsets
setExtraSpace(
0f,
insets?.displayCutout?.boundingRectTop?.height()?.toFloat() ?: 0f,
0f,
insets?.displayCutout?.boundingRectBottom?.height()?.toFloat() ?: 0f
)
}
setOnImageEventListener(
object : SubsamplingScaleImageView.DefaultOnImageEventListener() {
override fun onReady() {

Loading…
Cancel
Save