auto hide android navbar (#133)

* auto hide android navbar

* auto hide android navbar
This commit is contained in:
aayush262 2024-01-16 00:25:21 +05:30 committed by GitHub
parent bd6197031a
commit 61150066bd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 16 deletions

View file

@ -157,11 +157,22 @@ fun initActivity(a: Activity) {
} }
} }
a.hideStatusBar() a.hideStatusBar()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P && statusBarHeight == 0 && a.resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R &&
window.decorView.rootWindowInsets?.displayCutout?.apply { statusBarHeight == 0 &&
if (boundingRects.size > 0) { a.resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT
statusBarHeight = min(boundingRects[0].width(), boundingRects[0].height()) ) {
} window.setDecorFitsSystemWindows(false)
window.decorView.setOnApplyWindowInsetsListener { _, insets ->
statusBarHeight = insets.getInsets(WindowInsetsCompat.Type.systemBars()).top
navBarHeight = insets.getInsets(WindowInsetsCompat.Type.systemBars()).bottom
insets
}
window.insetsController?.let { controller ->
controller.systemBarsBehavior =
WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
controller.hide(WindowInsetsCompat.Type.navigationBars())
} }
} }
} else } else

View file

@ -152,9 +152,6 @@ class MainActivity : AppCompatActivity() {
initActivity(this) initActivity(this)
uiSettings = loadData("ui_settings") ?: uiSettings uiSettings = loadData("ui_settings") ?: uiSettings
selectedOption = uiSettings.defaultStartUpTab selectedOption = uiSettings.defaultStartUpTab
binding.includedNavbar.navbarContainer.updateLayoutParams<ViewGroup.MarginLayoutParams> {
bottomMargin = navBarHeight
}
} }
val offline = getSharedPreferences("Dantotsu", Context.MODE_PRIVATE) val offline = getSharedPreferences("Dantotsu", Context.MODE_PRIVATE)
.getBoolean("offlineMode", false) .getBoolean("offlineMode", false)

View file

@ -1,6 +1,5 @@
package ani.dantotsu.home package ani.dantotsu.home
import android.app.AlertDialog
import android.content.Context import android.content.Context
import android.graphics.drawable.GradientDrawable import android.graphics.drawable.GradientDrawable
import android.os.Build import android.os.Build
@ -8,25 +7,21 @@ import android.os.Bundle
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
import android.view.View import android.view.View
import android.view.ViewGroup
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.view.doOnAttach import androidx.core.view.doOnAttach
import androidx.core.view.updateLayoutParams
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager
import androidx.lifecycle.Lifecycle import androidx.lifecycle.Lifecycle
import androidx.viewpager2.adapter.FragmentStateAdapter import androidx.viewpager2.adapter.FragmentStateAdapter
import ani.dantotsu.R import ani.dantotsu.R
import ani.dantotsu.ZoomOutPageTransformer import ani.dantotsu.ZoomOutPageTransformer
import ani.dantotsu.currContext
import ani.dantotsu.databinding.ActivityNoInternetBinding import ani.dantotsu.databinding.ActivityNoInternetBinding
import ani.dantotsu.download.anime.OfflineAnimeFragment import ani.dantotsu.download.anime.OfflineAnimeFragment
import ani.dantotsu.download.manga.OfflineMangaFragment import ani.dantotsu.download.manga.OfflineMangaFragment
import ani.dantotsu.initActivity import ani.dantotsu.initActivity
import ani.dantotsu.loadData import ani.dantotsu.loadData
import ani.dantotsu.navBarHeight
import ani.dantotsu.offline.OfflineFragment import ani.dantotsu.offline.OfflineFragment
import ani.dantotsu.others.LangSet import ani.dantotsu.others.LangSet
import ani.dantotsu.selectedOption import ani.dantotsu.selectedOption
@ -80,9 +75,6 @@ class NoInternet : AppCompatActivity() {
initActivity(this) initActivity(this)
uiSettings = loadData("ui_settings") ?: uiSettings uiSettings = loadData("ui_settings") ?: uiSettings
selectedOption = uiSettings.defaultStartUpTab selectedOption = uiSettings.defaultStartUpTab
binding.includedNavbar.navbarContainer.updateLayoutParams<ViewGroup.MarginLayoutParams> {
bottomMargin = navBarHeight
}
} }
val navbar = binding.includedNavbar.navbar val navbar = binding.includedNavbar.navbar
ani.dantotsu.bottomBar = navbar ani.dantotsu.bottomBar = navbar