边距问题 #269
This commit is contained in:
11 files changed
+38
-16
No files matched your search
@@ -97,7 +97,7 @@ abstract class BaseActivity<VB : ViewBinding>(
|
|||||||
|
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||||
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q)
|
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.S)
|
||||||
enableEdgeToEdge()
|
enableEdgeToEdge()
|
||||||
else{
|
else{
|
||||||
setupSystemBar()
|
setupSystemBar()
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ package io.legado.app.ui.main
|
|||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.format.DateUtils
|
import android.text.format.DateUtils
|
||||||
import android.view.Gravity
|
import android.view.Gravity
|
||||||
@@ -12,6 +13,7 @@ import android.view.MotionEvent
|
|||||||
import android.widget.FrameLayout
|
import android.widget.FrameLayout
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import androidx.activity.OnBackPressedCallback
|
import androidx.activity.OnBackPressedCallback
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
||||||
import androidx.core.view.get
|
import androidx.core.view.get
|
||||||
@@ -129,7 +131,8 @@ open class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
|
|||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
pagePosition = savedInstanceState.getInt("currentPagePosition", 0)
|
pagePosition = savedInstanceState.getInt("currentPagePosition", 0)
|
||||||
}
|
}
|
||||||
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.S)
|
||||||
|
binding.viewPagerMain.fitsSystemWindows = true
|
||||||
// 其他初始化逻辑
|
// 其他初始化逻辑
|
||||||
setupBackCallback()
|
setupBackCallback()
|
||||||
upBottomMenu()
|
upBottomMenu()
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
package io.legado.app.ui.main.bookshelf.books
|
package io.legado.app.ui.main.bookshelf.books
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.appcompat.widget.SearchView
|
import androidx.appcompat.widget.SearchView
|
||||||
@@ -53,6 +54,8 @@ class BookshelfFragment1() : BaseBookshelfFragment(R.layout.fragment_bookshelf1)
|
|||||||
|
|
||||||
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
setSupportToolbar(binding.topBar)
|
setSupportToolbar(binding.topBar)
|
||||||
|
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.S)
|
||||||
|
binding.titleBar.fitsSystemWindows = true
|
||||||
initView()
|
initView()
|
||||||
initBookGroupData()
|
initBookGroupData()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package io.legado.app.ui.main.bookshelf.books
|
|||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.activity.OnBackPressedCallback
|
import androidx.activity.OnBackPressedCallback
|
||||||
@@ -120,6 +121,8 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2)
|
|||||||
initBookGroupData()
|
initBookGroupData()
|
||||||
initAllBooksData()
|
initAllBooksData()
|
||||||
initBooksData()
|
initBooksData()
|
||||||
|
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.S)
|
||||||
|
binding.titleBar.fitsSystemWindows = true
|
||||||
backCallback = object : OnBackPressedCallback(false) { // 初始禁用
|
backCallback = object : OnBackPressedCallback(false) { // 初始禁用
|
||||||
override fun handleOnBackPressed() {
|
override fun handleOnBackPressed() {
|
||||||
if (back()) {
|
if (back()) {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
package io.legado.app.ui.main.bookshelf.books
|
package io.legado.app.ui.main.bookshelf.books
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.appcompat.widget.SearchView
|
import androidx.appcompat.widget.SearchView
|
||||||
@@ -50,6 +51,8 @@ class BookshelfFragment3() : BaseBookshelfFragment(R.layout.fragment_bookshelf3)
|
|||||||
|
|
||||||
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
setSupportToolbar(binding.topBar)
|
setSupportToolbar(binding.topBar)
|
||||||
|
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.S)
|
||||||
|
binding.titleBar.fitsSystemWindows = true
|
||||||
initView()
|
initView()
|
||||||
initBookGroupData()
|
initBookGroupData()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package io.legado.app.ui.main.explore
|
package io.legado.app.ui.main.explore
|
||||||
|
|
||||||
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
@@ -74,6 +75,8 @@ class ExploreFragment() : VMBaseFragment<ExploreViewModel>(R.layout.fragment_exp
|
|||||||
initRecyclerView()
|
initRecyclerView()
|
||||||
initGroupData()
|
initGroupData()
|
||||||
upExploreData()
|
upExploreData()
|
||||||
|
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.S)
|
||||||
|
binding.appBar.fitsSystemWindows = true
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.legado.app.ui.main.my
|
package io.legado.app.ui.main.my
|
||||||
|
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
@@ -56,6 +57,8 @@ class MyFragment() : BaseFragment(R.layout.fragment_my_config), MainFragmentInte
|
|||||||
if (preferenceFragment == null) preferenceFragment = MyPreferenceFragment()
|
if (preferenceFragment == null) preferenceFragment = MyPreferenceFragment()
|
||||||
childFragmentManager.beginTransaction()
|
childFragmentManager.beginTransaction()
|
||||||
.replace(R.id.pre_fragment, preferenceFragment, fragmentTag).commit()
|
.replace(R.id.pre_fragment, preferenceFragment, fragmentTag).commit()
|
||||||
|
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.S)
|
||||||
|
binding.titleBar.fitsSystemWindows = true
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCompatCreateOptionsMenu(menu: Menu) {
|
override fun onCompatCreateOptionsMenu(menu: Menu) {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package io.legado.app.ui.main.rss
|
package io.legado.app.ui.main.rss
|
||||||
|
|
||||||
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.transition.TransitionManager
|
import android.transition.TransitionManager
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
@@ -72,6 +73,8 @@ class RssFragment() : VMBaseFragment<RssViewModel>(R.layout.fragment_rss),
|
|||||||
initRecyclerView()
|
initRecyclerView()
|
||||||
initGroupData()
|
initGroupData()
|
||||||
upRssFlowJob()
|
upRssFlowJob()
|
||||||
|
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.S)
|
||||||
|
binding.appBar.fitsSystemWindows = true
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCompatCreateOptionsMenu(menu: Menu) {
|
override fun onCompatCreateOptionsMenu(menu: Menu) {
|
||||||
|
|||||||
@@ -146,12 +146,13 @@ fun Activity.setLightStatusBar(isLightBar: Boolean) {
|
|||||||
*/
|
*/
|
||||||
@Suppress("DEPRECATION")
|
@Suppress("DEPRECATION")
|
||||||
fun Window.setNavigationBarColorAuto(@ColorInt color: Int) {
|
fun Window.setNavigationBarColorAuto(@ColorInt color: Int) {
|
||||||
val isLightBor = ColorUtils.isColorLight(color)
|
if (Build.VERSION.SDK_INT >= 35) return
|
||||||
|
val isLightBar = ColorUtils.isColorLight(color)
|
||||||
navigationBarColor = color
|
navigationBarColor = color
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
insetsController?.let {
|
insetsController?.let {
|
||||||
if (isLightBor) {
|
if (isLightBar) {
|
||||||
it.setSystemBarsAppearance(
|
it.setSystemBarsAppearance(
|
||||||
WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS,
|
WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS,
|
||||||
WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS
|
WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS
|
||||||
@@ -163,19 +164,17 @@ fun Window.setNavigationBarColorAuto(@ColorInt color: Int) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else{
|
||||||
|
var flags = decorView.systemUiVisibility
|
||||||
|
flags = if (isLightBar) {
|
||||||
|
flags or View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
|
||||||
|
} else {
|
||||||
|
flags and View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR.inv()
|
||||||
|
}
|
||||||
|
decorView.systemUiVisibility = flags
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("DEPRECATION")
|
|
||||||
if (Build.VERSION.SDK_INT in Build.VERSION_CODES.O..Build.VERSION_CODES.Q) {
|
|
||||||
var systemUiVisibility = decorView.systemUiVisibility
|
|
||||||
systemUiVisibility = if (isLightBor) {
|
|
||||||
systemUiVisibility or View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
|
|
||||||
} else {
|
|
||||||
systemUiVisibility and View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR.inv()
|
|
||||||
}
|
|
||||||
decorView.systemUiVisibility = systemUiVisibility
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
fun Activity.keepScreenOn(on: Boolean) {
|
fun Activity.keepScreenOn(on: Boolean) {
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/navigation_rail_view"
|
app:layout_constraintStart_toEndOf="@id/navigation_rail_view"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|
||||||
tools:ignore="SpeakableTextPresentCheck" />
|
tools:ignore="SpeakableTextPresentCheck" />
|
||||||
|
|
||||||
<!-- 底部导航栏 -->
|
<!-- 底部导航栏 -->
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@android:color/transparent"
|
android:background="@android:color/transparent"
|
||||||
android:fitsSystemWindows="true">
|
android:stateListAnimator="@null"
|
||||||
|
app:liftOnScroll="false">
|
||||||
|
|
||||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|||||||
Reference in new issue
Block a user