diff --git a/app/src/main/java/top/fumiama/copymanga/LoginActivity.kt b/app/src/main/java/top/fumiama/copymanga/LoginActivity.kt index 5ab7ca3..0706698 100644 --- a/app/src/main/java/top/fumiama/copymanga/LoginActivity.kt +++ b/app/src/main/java/top/fumiama/copymanga/LoginActivity.kt @@ -2,9 +2,12 @@ package top.fumiama.copymanga import android.os.Bundle import android.util.Log +import android.view.WindowManager import android.widget.Toast import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.WindowCompat import androidx.lifecycle.lifecycleScope +import androidx.preference.PreferenceManager import kotlinx.android.synthetic.main.activity_login.* import kotlinx.coroutines.launch import top.fumiama.dmzj.copymanga.R @@ -58,5 +61,14 @@ class LoginActivity : AppCompatActivity() { Toast.makeText(this@LoginActivity, l?.message, Toast.LENGTH_LONG).show() } } + PreferenceManager.getDefaultSharedPreferences(this)?.apply { + if (getBoolean("settings_cat_general_sw_enable_transparent_systembar", false)) { + WindowCompat.setDecorFitsSystemWindows(window, false) + window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) + window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) + window.statusBarColor = 0 + window.navigationBarColor = 0 + } + } } } diff --git a/app/src/main/java/top/fumiama/copymanga/MainActivity.kt b/app/src/main/java/top/fumiama/copymanga/MainActivity.kt index 8cea2fe..7ea4248 100644 --- a/app/src/main/java/top/fumiama/copymanga/MainActivity.kt +++ b/app/src/main/java/top/fumiama/copymanga/MainActivity.kt @@ -16,6 +16,7 @@ import android.util.Log import android.view.Menu import android.view.MenuItem import android.view.View +import android.view.WindowManager import android.view.inputmethod.InputMethodManager import android.widget.TextView import android.widget.Toast @@ -26,6 +27,7 @@ import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import androidx.core.content.edit import androidx.core.net.toUri +import androidx.core.view.WindowCompat import androidx.drawerlayout.widget.DrawerLayout import androidx.lifecycle.lifecycleScope import androidx.navigation.NavController @@ -161,6 +163,13 @@ class MainActivity : AppCompatActivity() { )[it]) } } + if (getBoolean("settings_cat_general_sw_enable_transparent_systembar", false)) { + WindowCompat.setDecorFitsSystemWindows(window, false) + window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) + window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) + window.statusBarColor = 0 + window.navigationBarColor = 0 + } } } diff --git a/app/src/main/java/top/fumiama/copymanga/ui/vm/ViewMangaActivity.kt b/app/src/main/java/top/fumiama/copymanga/ui/vm/ViewMangaActivity.kt index cfadde3..a099361 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/vm/ViewMangaActivity.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/vm/ViewMangaActivity.kt @@ -20,6 +20,7 @@ import android.view.View import android.view.ViewGroup import android.view.WindowInsets import android.view.WindowInsetsController +import android.view.WindowManager import android.widget.Button import android.widget.SeekBar import android.widget.Toast @@ -204,6 +205,10 @@ class ViewMangaActivity : TitleActivityTemplate() { } } } + if (settingsPref?.getBoolean("settings_cat_general_sw_enable_transparent_systembar", false) == true) { + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) + window.attributes.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS + } } @Suppress("DEPRECATION") diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 97d9d41..328404e 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -20,6 +20,7 @@ android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" + app:insetForeground="@android:color/transparent" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" /> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 58aaa25..cbaeee0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -146,6 +146,8 @@ 默认为0表示无偏移, 在此基础上加减 不显示看板娘动画 如加载卡顿可考虑开启此选项 + 沉浸式系统栏 + 使全面屏设备导航栏和状态栏更沉浸 网络 图片分辨率 diff --git a/app/src/main/res/xml/pref_setting.xml b/app/src/main/res/xml/pref_setting.xml index ae89d32..7dd6c98 100644 --- a/app/src/main/res/xml/pref_setting.xml +++ b/app/src/main/res/xml/pref_setting.xml @@ -20,6 +20,12 @@ app:selectable="true" app:summary="@string/settings_cat_general_sm_disable_kanban_animation" app:title="@string/settings_cat_general_sw_disable_kanban_animation" /> +