mirror of
https://github.com/fumiama/copymanga.git
synced 2026-06-05 07:20:23 +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.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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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" />
|
||||
</androidx.drawerlayout.widget.DrawerLayout>
|
||||
@@ -146,6 +146,8 @@
|
||||
<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_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_sb_title_image_resolution">图片分辨率</string>
|
||||
|
||||
@@ -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" />
|
||||
<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
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
Reference in New Issue
Block a user