Forráskód Böngészése

主题顶部状态适配

bjb 1 hete
szülő
commit
fd87a7a011

+ 2 - 2
.idea/deploymentTargetSelector.xml

@@ -4,10 +4,10 @@
     <selectionStates>
       <SelectionState runConfigName="app">
         <option name="selectionMode" value="DROPDOWN" />
-        <DropdownSelection timestamp="2025-12-11T03:30:51.667737200Z">
+        <DropdownSelection timestamp="2025-12-12T00:59:16.631395500Z">
           <Target type="DEFAULT_BOOT">
             <handle>
-              <DeviceId pluginId="LocalEmulator" identifier="path=C:\Users\ISCS\.android\avd\Resizable.avd" />
+              <DeviceId pluginId="PhysicalDevice" identifier="serial=32923c41" />
             </handle>
           </Target>
         </DropdownSelection>

+ 2 - 1
app/src/main/java/com/iscs/bozzys/ui/base/PageBase.kt

@@ -52,8 +52,9 @@ abstract class PageBase(
             )
         )
         setContent {
-            loading = viewModel()
+            // 全局使用黑主题色,主要原因顶部状态栏黑色和设计冲突
             BozzysTheme {
+                loading = viewModel()
                 Scaffold(
                     modifier = Modifier
                         .fillMaxSize()

+ 2 - 2
app/src/main/java/com/iscs/bozzys/ui/pages/home/HomeCompose.kt

@@ -115,7 +115,7 @@ private fun TopToolBar(pv: PaddingValues, vmHome: VMHome) {
                     contentDescription = null,
                     modifier = Modifier
                         .size(36.dp)
-                        .clip(RoundedCornerShape(12.dp))
+                        .clip(RoundedCornerShape(6.dp))
                         .clickable(onClick = {})
                         .padding(9.dp),
                     tint = Color.White
@@ -139,7 +139,7 @@ private fun TopToolBar(pv: PaddingValues, vmHome: VMHome) {
                 contentDescription = null,
                 modifier = Modifier
                     .size(36.dp)
-                    .clip(RoundedCornerShape(12.dp))
+                    .clip(RoundedCornerShape(6.dp))
                     .clickable(onClick = {})
                     .padding(10.dp),
                 tint = Color.White

+ 2 - 2
app/src/main/java/com/iscs/bozzys/ui/pages/home/JobsCompose.kt

@@ -83,13 +83,13 @@ private fun TopToolBar(pv: PaddingValues, vmHome: VMHome) {
             Text("我的作业", fontSize = 18.sp, color = Color.White, fontWeight = FontWeight.Medium)
             Spacer(Modifier.weight(1f))
             Icon(
-                painter = painterResource(R.drawable.read_all),
+                painter = painterResource(R.drawable.add),
                 contentDescription = null,
                 modifier = Modifier
                     .size(36.dp)
                     .clip(RoundedCornerShape(12.dp))
                     .clickable(onClick = {})
-                    .padding(9.dp),
+                    .padding(6.dp),
                 tint = Color.White
             )
         }

+ 3 - 3
app/src/main/java/com/iscs/bozzys/ui/pages/home/MessageCompose.kt

@@ -84,9 +84,9 @@ private fun TopToolBar(pv: PaddingValues, vmHome: VMHome) {
                 contentDescription = null,
                 modifier = Modifier
                     .size(36.dp)
-                    .clip(RoundedCornerShape(12.dp))
+                    .clip(RoundedCornerShape(6.dp))
                     .clickable(onClick = {})
-                    .padding(9.dp),
+                    .padding(8.dp),
                 tint = Color.White
             )
             Icon(
@@ -94,7 +94,7 @@ private fun TopToolBar(pv: PaddingValues, vmHome: VMHome) {
                 contentDescription = null,
                 modifier = Modifier
                     .size(36.dp)
-                    .clip(RoundedCornerShape(12.dp))
+                    .clip(RoundedCornerShape(6.dp))
                     .clickable(onClick = {})
                     .padding(9.dp),
                 tint = Color.White

+ 22 - 2
app/src/main/java/com/iscs/bozzys/ui/theme/Theme.kt

@@ -1,6 +1,9 @@
 package com.iscs.bozzys.ui.theme
 
+import android.app.Activity
 import android.os.Build
+import androidx.compose.foundation.ExperimentalFoundationApi
+import androidx.compose.foundation.LocalOverscrollConfiguration
 import androidx.compose.foundation.isSystemInDarkTheme
 import androidx.compose.material3.MaterialTheme
 import androidx.compose.material3.darkColorScheme
@@ -8,13 +11,17 @@ import androidx.compose.material3.dynamicDarkColorScheme
 import androidx.compose.material3.dynamicLightColorScheme
 import androidx.compose.material3.lightColorScheme
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.SideEffect
 import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.platform.LocalView
+import androidx.core.view.WindowInsetsControllerCompat
 
 // 暗黑主题配置
 private val DarkColorScheme = darkColorScheme(
     primary = Main,
     secondary = Main,
-    tertiary = Main
+    tertiary = Main,
 )
 
 // 标准主题配置
@@ -24,6 +31,7 @@ private val LightColorScheme = lightColorScheme(
     tertiary = Main
 )
 
+@OptIn(ExperimentalFoundationApi::class)
 @Composable
 fun BozzysTheme(
     darkTheme: Boolean = isSystemInDarkTheme(),
@@ -41,9 +49,21 @@ fun BozzysTheme(
         else -> LightColorScheme
     }
 
+
+    val view = LocalView.current
+    val window = (view.context as Activity).window
+
+    SideEffect {
+        // 设置亮/暗状态栏图标 (true 为亮色图标)
+        WindowInsetsControllerCompat(window, view).isAppearanceLightStatusBars = darkTheme
+    }
+
     MaterialTheme(
         colorScheme = colorScheme,
         typography = Typography,
-        content = content
+        content = {
+            // 全局去除滑动顶部和底部的阴影效果
+            CompositionLocalProvider(LocalOverscrollConfiguration provides null) { content() }
+        }
     )
 }

+ 9 - 0
app/src/main/res/drawable/add.xml

@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="32dp"
+    android:height="32dp"
+    android:viewportWidth="1024"
+    android:viewportHeight="1024">
+  <path
+      android:pathData="M535.8,63.3c-243.7,0 -442.9,199.4 -442.9,442.9s199.4,442.9 442.9,442.9 442.9,-199.4 442.9,-442.9S779.6,63.3 535.8,63.3zM713.1,550.5h-132.9v132.9c0,26.5 -17.8,44.3 -44.3,44.3s-44.3,-17.8 -44.3,-44.3v-132.9h-132.9c-26.5,0 -44.3,-17.8 -44.3,-44.3s17.8,-44.3 44.3,-44.3h132.9v-132.9c0,-26.5 17.8,-44.3 44.3,-44.3s44.3,17.8 44.3,44.3v132.9h132.9c26.5,0 44.3,17.8 44.3,44.3s-17.8,44.3 -44.3,44.3zM713.1,550.5"
+      android:fillColor="#2c2c2c"/>
+</vector>