mirror of
https://github.com/fumiama/copymanga.git
synced 2026-06-26 22:00:29 +08:00
feat: transparent status bar and navbar (#71)
* Transparent status bar and navbar * Support custom control transparent status bar and navbar * Cleanup useless code
This commit is contained in:
@@ -2,9 +2,12 @@ package top.fumiama.copymanga
|
|||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import android.view.WindowManager
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import androidx.core.view.WindowCompat
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
|
import androidx.preference.PreferenceManager
|
||||||
import kotlinx.android.synthetic.main.activity_login.*
|
import kotlinx.android.synthetic.main.activity_login.*
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import top.fumiama.dmzj.copymanga.R
|
import top.fumiama.dmzj.copymanga.R
|
||||||
@@ -58,5 +61,14 @@ class LoginActivity : AppCompatActivity() {
|
|||||||
Toast.makeText(this@LoginActivity, l?.message, Toast.LENGTH_LONG).show()
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import android.util.Log
|
|||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.view.WindowManager
|
||||||
import android.view.inputmethod.InputMethodManager
|
import android.view.inputmethod.InputMethodManager
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
@@ -26,6 +27,7 @@ import androidx.core.app.ActivityCompat
|
|||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
|
import androidx.core.view.WindowCompat
|
||||||
import androidx.drawerlayout.widget.DrawerLayout
|
import androidx.drawerlayout.widget.DrawerLayout
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
@@ -161,6 +163,13 @@ class MainActivity : AppCompatActivity() {
|
|||||||
)[it])
|
)[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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.view.WindowInsets
|
import android.view.WindowInsets
|
||||||
import android.view.WindowInsetsController
|
import android.view.WindowInsetsController
|
||||||
|
import android.view.WindowManager
|
||||||
import android.widget.Button
|
import android.widget.Button
|
||||||
import android.widget.SeekBar
|
import android.widget.SeekBar
|
||||||
import android.widget.Toast
|
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")
|
@Suppress("DEPRECATION")
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="start"
|
android:layout_gravity="start"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
|
app:insetForeground="@android:color/transparent"
|
||||||
app:headerLayout="@layout/nav_header_main"
|
app:headerLayout="@layout/nav_header_main"
|
||||||
app:menu="@menu/activity_main_drawer" />
|
app:menu="@menu/activity_main_drawer" />
|
||||||
</androidx.drawerlayout.widget.DrawerLayout>
|
</androidx.drawerlayout.widget.DrawerLayout>
|
||||||
@@ -146,6 +146,8 @@
|
|||||||
<string name="settings_cat_general_sm_card_per_row">默认为0表示无偏移, 在此基础上加减</string>
|
<string name="settings_cat_general_sm_card_per_row">默认为0表示无偏移, 在此基础上加减</string>
|
||||||
<string name="settings_cat_general_sw_disable_kanban_animation">不显示看板娘动画</string>
|
<string name="settings_cat_general_sw_disable_kanban_animation">不显示看板娘动画</string>
|
||||||
<string name="settings_cat_general_sm_disable_kanban_animation">如加载卡顿可考虑开启此选项</string>
|
<string name="settings_cat_general_sm_disable_kanban_animation">如加载卡顿可考虑开启此选项</string>
|
||||||
|
<string name="settings_cat_general_sw_enable_transparent_systembar">沉浸式系统栏</string>
|
||||||
|
<string name="settings_cat_general_sm_enable_transparent_systembar">使全面屏设备导航栏和状态栏更沉浸</string>
|
||||||
|
|
||||||
<string name="settings_cat_net">网络</string>
|
<string name="settings_cat_net">网络</string>
|
||||||
<string name="settings_cat_net_sb_title_image_resolution">图片分辨率</string>
|
<string name="settings_cat_net_sb_title_image_resolution">图片分辨率</string>
|
||||||
|
|||||||
@@ -20,6 +20,12 @@
|
|||||||
app:selectable="true"
|
app:selectable="true"
|
||||||
app:summary="@string/settings_cat_general_sm_disable_kanban_animation"
|
app:summary="@string/settings_cat_general_sm_disable_kanban_animation"
|
||||||
app:title="@string/settings_cat_general_sw_disable_kanban_animation" />
|
app:title="@string/settings_cat_general_sw_disable_kanban_animation" />
|
||||||
|
<SwitchPreferenceCompat
|
||||||
|
app:iconSpaceReserved="false"
|
||||||
|
app:key="settings_cat_general_sw_enable_transparent_systembar"
|
||||||
|
app:selectable="true"
|
||||||
|
app:summary="@string/settings_cat_general_sm_enable_transparent_systembar"
|
||||||
|
app:title="@string/settings_cat_general_sw_enable_transparent_systembar" />
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|||||||
Reference in New Issue
Block a user