From e79a824a049b89caaba0ad106722476a2c015075 Mon Sep 17 00:00:00 2001 From: TwistedUmbrellaX <1173913+AbandonedCart@users.noreply.github.com> Date: Fri, 15 Mar 2024 18:53:52 -0400 Subject: [PATCH] fix: remove landscape buffer (#250) Portrait compensates for system navigation, which bleeds into landscape (where system nav is on the side) and places the bar 1/3 into the screen. --- app/src/main/java/ani/dantotsu/MainActivity.kt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/src/main/java/ani/dantotsu/MainActivity.kt b/app/src/main/java/ani/dantotsu/MainActivity.kt index 2a70eb8b..55e06f52 100644 --- a/app/src/main/java/ani/dantotsu/MainActivity.kt +++ b/app/src/main/java/ani/dantotsu/MainActivity.kt @@ -3,6 +3,8 @@ package ani.dantotsu import android.animation.ObjectAnimator import android.annotation.SuppressLint import android.content.Intent +import android.content.res.Configuration +import android.content.res.Resources import android.graphics.drawable.Animatable import android.graphics.drawable.GradientDrawable import android.net.Uri @@ -11,6 +13,7 @@ import android.os.Bundle import android.os.Handler import android.os.Looper import android.provider.Settings +import android.util.TypedValue import android.view.View import android.view.ViewGroup import android.view.animation.AnticipateInterpolator @@ -24,6 +27,7 @@ import androidx.core.animation.doOnEnd import androidx.core.content.ContextCompat import androidx.core.view.doOnAttach import androidx.core.view.updateLayoutParams +import androidx.core.view.updateMargins import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager import androidx.lifecycle.Lifecycle @@ -377,6 +381,20 @@ class MainActivity : AppCompatActivity() { window.navigationBarColor = getColor(android.R.color.transparent) } + private val Int.toPx get() = TypedValue.applyDimension( + TypedValue.COMPLEX_UNIT_DIP, this.toFloat(), Resources.getSystem().displayMetrics + ).toInt() + + override fun onConfigurationChanged(newConfig: Configuration) { + super.onConfigurationChanged(newConfig) + val params : ViewGroup.MarginLayoutParams = + binding.includedNavbar.navbar.layoutParams as ViewGroup.MarginLayoutParams + if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) + params.updateMargins(bottom = 8.toPx) + else + params.updateMargins(bottom = 32.toPx) + } + //ViewPager private class ViewPagerAdapter(fragmentManager: FragmentManager, lifecycle: Lifecycle) : FragmentStateAdapter(fragmentManager, lifecycle) {