HapeLee 1 год назад
Родитель
Сommit
5d3f86de5f

+ 1 - 0
app/src/main/java/io/legado/app/constant/PreferKey.kt

@@ -36,6 +36,7 @@ object PreferKey {
     const val showDiscovery = "showDiscovery"
     const val enableReview = "enableReview"
     const val showRss = "showRss"
+    const val showStatusBar = "showStatusBar"
     const val bookshelfLayout = "bookshelfLayout"
     const val bookshelfLayoutModePortrait = "bookshelfLayoutPortrait"
     const val bookshelfLayoutModeLandscape = "bookshelf_layout_landscape"

+ 3 - 0
app/src/main/java/io/legado/app/help/config/AppConfig.kt

@@ -282,6 +282,9 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
     val showRSS: Boolean
         get() = appCtx.getPrefBoolean(PreferKey.showRss, true)
 
+    val showStatusBar: Boolean
+        get() = appCtx.getPrefBoolean(PreferKey.showStatusBar, true)
+
     val showBottomView: Boolean
         get() = appCtx.getPrefBoolean(PreferKey.showBottomView, true)
 

+ 1 - 1
app/src/main/java/io/legado/app/ui/config/ThemeConfigFragment.kt

@@ -222,7 +222,7 @@ class ThemeConfigFragment : PreferenceFragmentCompat(),
             PreferKey.colorImage -> handleRestartRequired()
 
             PreferKey.showDiscovery, PreferKey.showRss,
-            PreferKey.showBottomView, PreferKey.tabletInterface,
+            PreferKey.showStatusBar, PreferKey.showBottomView, PreferKey.tabletInterface,
             PreferKey.labelVisibilityMode -> postEvent(EventBus.NOTIFY_MAIN, true)
         }
 

+ 12 - 1
app/src/main/java/io/legado/app/ui/main/MainActivity.kt

@@ -9,11 +9,14 @@ import android.text.format.DateUtils
 import android.view.Gravity
 import android.view.MenuItem
 import android.view.MotionEvent
+import android.view.WindowInsets
 import android.widget.FrameLayout
 import android.widget.ImageView
 import androidx.activity.OnBackPressedCallback
 import androidx.activity.viewModels
 import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
+import androidx.core.view.WindowCompat
+import androidx.core.view.WindowInsetsCompat
 import androidx.core.view.get
 import androidx.core.view.postDelayed
 import androidx.fragment.app.Fragment
@@ -21,6 +24,7 @@ import androidx.fragment.app.FragmentActivity
 import androidx.lifecycle.lifecycleScope
 import androidx.viewpager2.adapter.FragmentStateAdapter
 import androidx.viewpager2.widget.ViewPager2
+import cn.hutool.core.util.IdcardUtil.hide
 import com.google.android.material.bottomnavigation.BottomNavigationView
 import com.google.android.material.bottomnavigation.LabelVisibilityMode
 import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
@@ -37,6 +41,7 @@ import io.legado.app.help.AppWebDav
 import io.legado.app.help.book.BookHelp
 import io.legado.app.help.config.AppConfig
 import io.legado.app.help.config.LocalConfig
+import io.legado.app.help.config.ReadBookConfig
 import io.legado.app.help.coroutine.Coroutine
 import io.legado.app.help.storage.Backup
 import io.legado.app.lib.dialogs.alert
@@ -61,6 +66,7 @@ import io.legado.app.utils.shouldHideSoftInput
 import io.legado.app.utils.showDialogFragment
 import io.legado.app.utils.startActivity
 import io.legado.app.utils.themeColor
+import io.legado.app.utils.toggleSystemBar
 import io.legado.app.utils.viewbindingdelegate.viewBinding
 import io.legado.app.utils.visible
 import kotlinx.coroutines.Dispatchers.IO
@@ -119,7 +125,7 @@ open class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
     override fun onCreate(savedInstanceState: Bundle?) {
         installSplashScreen()
         super.onCreate(savedInstanceState)
-
+        toggleSystemBar(AppConfig.showStatusBar)
         if (checkStartupRoute()) return
         setExitSharedElementCallback(MaterialContainerTransformSharedElementCallback())
 
@@ -135,6 +141,11 @@ open class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
         bindNavigationListener()
     }
 
+    override fun onResume() {
+        super.onResume()
+        toggleSystemBar(AppConfig.showStatusBar)
+    }
+
     override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
         if (ev.action == MotionEvent.ACTION_DOWN) {
             currentFocus?.let {

+ 4 - 0
app/src/main/res/layout/view_select_action_bar.xml

@@ -22,6 +22,8 @@
                 android:id="@+id/tv_count"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:includeFontPadding="false"
+                android:gravity="top"
                 android:textColor="?attr/colorSecondary"
                 android:textSize="18sp"
                 android:textStyle="bold" />
@@ -30,6 +32,8 @@
                 android:id="@+id/tv_count_all"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:includeFontPadding="false"
+                android:gravity="bottom"
                 android:textSize="12sp"
                 android:textStyle="bold" />
 

+ 1 - 0
app/src/main/res/values-zh/strings.xml

@@ -1320,4 +1320,5 @@
     <string name="redirect_block_cross_origin">阻止跨域名重定向</string>
     <string name="redirect_block_all">阻止所有重定向</string>
     <string name="redirect_ask_same_domain_block_cross">域内询问且域外阻止</string>
+    <string name="show_status">显示状态栏</string>
 </resources>

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -1321,4 +1321,5 @@
     <string name="redirect_block_cross_origin">阻止跨域名重定向</string>
     <string name="redirect_block_all">阻止所有重定向</string>
     <string name="redirect_ask_same_domain_block_cross">域内询问且域外阻止</string>
+    <string name="show_status">显示状态栏</string>
 </resources>

+ 6 - 0
app/src/main/res/xml/pref_config_theme.xml

@@ -100,6 +100,12 @@
             android:title="@string/show_rss"
             app:iconSpaceReserved="false" />
 
+        <io.legado.app.lib.prefs.SwitchPreference
+            android:defaultValue="true"
+            android:key="showStatusBar"
+            android:title="@string/show_status"
+            app:iconSpaceReserved="false" />
+
         <io.legado.app.lib.prefs.SwitchPreference
             android:defaultValue="true"
             android:key="showBottomView"