diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/MoreSettings.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/MoreSettings.kt
index 7f11d7c0..4274c51d 100644
--- a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/MoreSettings.kt
+++ b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/MoreSettings.kt
@@ -40,6 +40,7 @@ import androidx.compose.material.icons.filled.DarkMode
import androidx.compose.material.icons.filled.KeyboardArrowDown
import androidx.compose.material.icons.filled.KeyboardArrowUp
import androidx.compose.material.icons.filled.Language
+import androidx.compose.material.icons.filled.LightMode
import androidx.compose.material.icons.filled.Opacity
import androidx.compose.material.icons.filled.Palette
import androidx.compose.material.icons.filled.Security
@@ -345,6 +346,7 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) {
// 卡片配置状态
var cardAlpha by rememberSaveable { mutableFloatStateOf(CardConfig.cardAlpha) }
+ var cardDim by rememberSaveable { mutableFloatStateOf(CardConfig.cardDim) }
var isCustomBackgroundEnabled by rememberSaveable {
mutableStateOf(ThemeConfig.customBackgroundUri != null)
}
@@ -393,6 +395,7 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) {
// 加载设置
CardConfig.load(context)
cardAlpha = CardConfig.cardAlpha
+ cardDim = CardConfig.cardDim
isCustomBackgroundEnabled = ThemeConfig.customBackgroundUri != null
// 设置主题模式
@@ -699,10 +702,13 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) {
isCustomBackgroundEnabled = false
CardConfig.cardElevation
CardConfig.cardAlpha = 1f
+ CardConfig.cardDim = 0f
CardConfig.isCustomAlphaSet = false
+ CardConfig.isCustomDimSet = false
CardConfig.isCustomBackgroundEnabled = false
saveCardConfig(context)
cardAlpha = 1f
+ cardDim = 0f
// 重置其他相关设置
ThemeConfig.needsResetOnThemeChange = true
@@ -730,7 +736,7 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) {
)
)
- // 透明度 Slider
+ // 透明度和亮度调节滑动条
AnimatedVisibility(
visible = ThemeConfig.customBackgroundUri != null,
enter = fadeIn() + expandVertically(),
@@ -738,6 +744,7 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) {
modifier = Modifier.padding(horizontal = 32.dp)
) {
Column(modifier = Modifier.padding(vertical = 8.dp)) {
+ // 透明度滑动条
Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.padding(bottom = 4.dp)
@@ -785,6 +792,55 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) {
inactiveTrackColor = MaterialTheme.colorScheme.surfaceVariant
)
)
+
+ // 亮度调节滑动条
+ Row(
+ verticalAlignment = Alignment.CenterVertically,
+ modifier = Modifier.padding(top = 16.dp, bottom = 4.dp)
+ ) {
+ Icon(
+ Icons.Filled.LightMode,
+ contentDescription = null,
+ modifier = Modifier.size(20.dp),
+ tint = MaterialTheme.colorScheme.primary
+ )
+ Spacer(modifier = Modifier.width(8.dp))
+ Text(
+ text = stringResource(R.string.settings_card_dim),
+ style = MaterialTheme.typography.titleSmall
+ )
+ Spacer(modifier = Modifier.weight(1f))
+ Text(
+ text = "${(cardDim * 100).roundToInt()}%",
+ style = MaterialTheme.typography.labelMedium,
+ color = MaterialTheme.colorScheme.onSurfaceVariant
+ )
+ }
+
+ Slider(
+ value = cardDim,
+ onValueChange = { newValue ->
+ cardDim = newValue
+ CardConfig.cardDim = newValue
+ CardConfig.isCustomDimSet = true
+ prefs.edit {
+ putBoolean("is_custom_dim_set", true)
+ putFloat("card_dim", newValue)
+ }
+ },
+ onValueChangeFinished = {
+ coroutineScope.launch(Dispatchers.IO) {
+ saveCardConfig(context)
+ }
+ },
+ valueRange = 0f..1f,
+ steps = 20,
+ colors = SliderDefaults.colors(
+ thumbColor = MaterialTheme.colorScheme.primary,
+ activeTrackColor = MaterialTheme.colorScheme.primary,
+ inactiveTrackColor = MaterialTheme.colorScheme.surfaceVariant
+ )
+ )
}
}
}
@@ -1144,6 +1200,9 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) {
if (!CardConfig.isCustomAlphaSet) {
CardConfig.cardAlpha = 1f
}
+ if (!CardConfig.isCustomDimSet) {
+ CardConfig.cardDim = 0.5f
+ }
CardConfig.save(context)
}
1 -> { // 浅色
@@ -1153,6 +1212,9 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) {
if (!CardConfig.isCustomAlphaSet) {
CardConfig.cardAlpha = 1f
}
+ if (!CardConfig.isCustomDimSet) {
+ CardConfig.cardDim = 0f
+ }
CardConfig.save(context)
}
0 -> { // 跟随系统
diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/theme/CardManage.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/theme/CardManage.kt
index 431ed164..28d929ca 100644
--- a/manager/app/src/main/java/com/sukisu/ultra/ui/theme/CardManage.kt
+++ b/manager/app/src/main/java/com/sukisu/ultra/ui/theme/CardManage.kt
@@ -5,6 +5,7 @@ import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.CardDefaults
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableFloatStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.graphics.Color
@@ -16,10 +17,15 @@ object CardConfig {
val settingElevation: Dp = 4.dp
val customBackgroundElevation: Dp = 0.dp
- var cardAlpha by mutableStateOf(1f)
+ // 卡片透明度
+ var cardAlpha by mutableFloatStateOf(1f)
+ // 卡片亮度
+ var cardDim by mutableFloatStateOf(0f)
+ // 卡片阴影
var cardElevation by mutableStateOf(settingElevation)
var isShadowEnabled by mutableStateOf(true)
var isCustomAlphaSet by mutableStateOf(false)
+ var isCustomDimSet by mutableStateOf(false)
var isUserDarkModeEnabled by mutableStateOf(false)
var isUserLightModeEnabled by mutableStateOf(false)
var isCustomBackgroundEnabled by mutableStateOf(false)
@@ -31,9 +37,11 @@ object CardConfig {
val prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE)
prefs.edit().apply {
putFloat("card_alpha", cardAlpha)
+ putFloat("card_dim", cardDim)
putBoolean("custom_background_enabled", isCustomBackgroundEnabled)
putBoolean("is_shadow_enabled", isShadowEnabled)
putBoolean("is_custom_alpha_set", isCustomAlphaSet)
+ putBoolean("is_custom_dim_set", isCustomDimSet)
putBoolean("is_user_dark_mode_enabled", isUserDarkModeEnabled)
putBoolean("is_user_light_mode_enabled", isUserLightModeEnabled)
apply()
@@ -46,9 +54,11 @@ object CardConfig {
fun load(context: Context) {
val prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE)
cardAlpha = prefs.getFloat("card_alpha", 1f)
+ cardDim = prefs.getFloat("card_dim", 0f)
isCustomBackgroundEnabled = prefs.getBoolean("custom_background_enabled", false)
isShadowEnabled = prefs.getBoolean("is_shadow_enabled", true)
isCustomAlphaSet = prefs.getBoolean("is_custom_alpha_set", false)
+ isCustomDimSet = prefs.getBoolean("is_custom_dim_set", false)
isUserDarkModeEnabled = prefs.getBoolean("is_user_dark_mode_enabled", false)
isUserLightModeEnabled = prefs.getBoolean("is_user_light_mode_enabled", false)
updateShadowEnabled(isShadowEnabled)
@@ -72,9 +82,25 @@ object CardConfig {
* 设置深色模式默认值
*/
fun setDarkModeDefaults() {
+ if (!isCustomAlphaSet) {
+ cardAlpha = 0.70f
+ }
+ if (!isCustomDimSet) {
+ cardDim = 0.5f
+ }
+ updateShadowEnabled(isShadowEnabled)
+ }
+
+ /**
+ * 设置浅色模式默认值
+ */
+ fun setLightModeDefaults() {
if (!isCustomAlphaSet) {
cardAlpha = 1f
}
+ if (!isCustomDimSet) {
+ cardDim = 0f
+ }
updateShadowEnabled(isShadowEnabled)
}
}
@@ -104,4 +130,4 @@ private fun determineContentColor(originalColor: Color): Color {
isDarkTheme -> Color.White
else -> if (originalColor.luminance() > 0.5f) Color.Black else Color.White
}
-}
\ No newline at end of file
+}
diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/theme/Theme.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/theme/Theme.kt
index 8e698776..1e7e2811 100644
--- a/manager/app/src/main/java/com/sukisu/ultra/ui/theme/Theme.kt
+++ b/manager/app/src/main/java/com/sukisu/ultra/ui/theme/Theme.kt
@@ -110,6 +110,9 @@ fun KernelSUTheme(
if (!isCustomAlphaSet) {
cardAlpha = if (systemIsDark) 0.50f else 1f
}
+ if (!isCustomDimSet) {
+ cardDim = if (systemIsDark) 0.5f else 0f
+ }
save(context)
}
}
@@ -148,6 +151,8 @@ fun KernelSUTheme(
val isDarkModeWithCustomBackground = darkTheme && ThemeConfig.customBackgroundUri != null
if (darkTheme && !dynamicColor) {
CardConfig.setDarkModeDefaults()
+ } else if (!darkTheme && !dynamicColor) {
+ CardConfig.setLightModeDefaults()
}
CardConfig.updateShadowEnabled(!isDarkModeWithCustomBackground)
@@ -199,6 +204,9 @@ fun KernelSUTheme(
}
}
+ // 计算适用的暗化值
+ val dimFactor = CardConfig.cardDim
+
MaterialTheme(
colorScheme = colorScheme,
typography = Typography
@@ -234,13 +242,13 @@ fun KernelSUTheme(
)
}
- // 亮度调节层
+ // 亮度调节层 (根据cardDim调整)
Box(
modifier = Modifier
.fillMaxSize()
.background(
- if (darkTheme) Color.Black.copy(alpha = 0.6f)
- else Color.White.copy(alpha = 0.1f)
+ if (darkTheme) Color.Black.copy(alpha = 0.6f + dimFactor * 0.3f)
+ else Color.White.copy(alpha = 0.1f + dimFactor * 0.2f)
)
)
@@ -252,8 +260,8 @@ fun KernelSUTheme(
Brush.radialGradient(
colors = listOf(
Color.Transparent,
- if (darkTheme) Color.Black.copy(alpha = 0.5f)
- else Color.Black.copy(alpha = 0.2f)
+ if (darkTheme) Color.Black.copy(alpha = 0.5f + dimFactor * 0.2f)
+ else Color.Black.copy(alpha = 0.2f + dimFactor * 0.1f)
),
radius = 1200f
)
diff --git a/manager/app/src/main/res/values-ja/strings.xml b/manager/app/src/main/res/values-ja/strings.xml
index 86c7cf9b..4925991c 100644
--- a/manager/app/src/main/res/values-ja/strings.xml
+++ b/manager/app/src/main/res/values-ja/strings.xml
@@ -305,23 +305,50 @@
アプリの設定
ツール
現在
-
- 削除
- root アプリの権限
- カスタマイズされたアプリ構成
+
+ クリア
+ ルートアクセスの許可
+ カスタムアプリの設定
その他のアプリ
- アプリがありません
- SELinux 有効
- SELinux 無効
- SELinux ステータスの変更に失敗しました
- 高度な設定
- ツールバーをカスタマイズ
+ アプリが見つかりません
+ SELinux を有効にするステータスを設定します
+ SELinux は Permissive に設定されています
+ SELinux 状態の変更に失敗しました
+ 詳細設定
+ 外観設定
戻る
- 最高の状態
- 設置
+ 表示する
+ 收起
SuSFS 有効
SuSFS 無効
- 背景の設定が成功しました
- カスタム背景を削除しました
- root 権限が必要
+ 設定は正常に更新されました
+ カスタム背景を削除しています
+ Root権限が必要です
+
+ KPMを表示
+ ホーム画面と底バーで KPM に関する情報を表示します(アプリを再度開く必要があります)
+
+ WebUI X を使用
+ WebUIではなく、より API をサポートする Web UI X
+ Eruda に Web UI X を注入
+ WebUI Xでデバッグコンソールの注入ができます。デバッグが簡単になりやすいように、WebView のデバッグを有効にする必要があります
+
+ DPI 設定
+ DPI を使用
+ 画面密度を現在のアプリの画面解像度に合わせる
+ 小
+ 中
+ 大きく
+ 特大
+ カスタム
+ DPI 設定のセットアップ
+ 画素密度を変更確認
+ DPI を %1$d から %2$d に変更してもよろしいですか?
+ アプリの再起動が必要です DPIの設定はシステムステータスバーや他のアプリには影響しません
+ DPI は %1$dに設定され、アプリを再起動後に適用されます
+
+ アプリの言語
+ システムに従う
+ 変更を適用するには言語の再起動が必要です
+ 暗さされたカード(暗い部分)
diff --git a/manager/app/src/main/res/values-vi/strings.xml b/manager/app/src/main/res/values-vi/strings.xml
index 89c35b26..4eedb182 100644
--- a/manager/app/src/main/res/values-vi/strings.xml
+++ b/manager/app/src/main/res/values-vi/strings.xml
@@ -36,11 +36,11 @@
Cài đặt
Khởi động lại không gian người dùng
Khởi động lại vào Recovery
- hởi động lại vào Bootloader
+ Khởi động lại vào Bootloader
Khởi động lại vào Download Mode
Khởi động lại vào EDL
Thông tin
- Bạn có THẬT SỰ muốn gỡ module %s?
+ Bạn có THẬT SỰ muốn gỡ cài đặt module %s không?
%s đã được gỡ cài đặt
Gỡ cài đặt thất bại: %s
Phiên bản
@@ -58,7 +58,7 @@
Hỗ trợ chúng tôi
KernelSU sẽ luôn là miễn phí và mã nguồn mở. Tuy nhiên, bạn có thể cho chúng tôi thấy rằng bạn quan tâm bằng cách quyên góp.
Tham gia kênh %2$s của chúng tôi]]>
- App Profile
+ Hồ sơ ứng dụng
Mặc định
Bản mẫu
Tuỳ chỉnh
@@ -139,7 +139,7 @@
Logs đã được lưu
Được hỗ trợ
Không được hỗ trợ
- Unknown
+ Không rõ
Chế độ SU của SuS:
Xác nhận cài đặt Module %1$s?
@@ -180,7 +180,7 @@
Vô hiệu hoá khả năng của lệnh SU
Vô hiệu hoá khả năng thực thi lệnh SU để lấy quyền root (những app đã cấp trước đó không bị ảnh hưởng).
Bạn đang sử dụng trình quản lý SukiSU Beta
- Bạn có chắc muốn cài đặt các Module %d đã chọn không??
+ Bạn có chắc muốn cài đặt các Module %d đã chọn không?
Bạn có chắc muốn cài đặt các module %1$d sau không? \n\n%2$s
Nhiều thiết lập hơn
SELinux
@@ -247,7 +247,7 @@
SukiSU Ultra sẽ là một nhánh tương đối độc lập của KSU trong tương lai, nhưng chúng tôi xin cảm ơn KernelSU và MKSU,... vì những đóng góp của họ!
Không được hỗ trợ
Được hỗ trợ
- "Module KPM: %d "
+ Module KPM: %d
Tệp KPM không hợp lệ
Kernel chưa được vá
Kernel chưa được cấu hình
@@ -350,4 +350,5 @@
Ngôn ngữ ứng dụng
Theo dõi hệ thống
Ngôn ngữ đã thay đổi, khởi động lại để áp dụng thay đổi
+ Điều chỉnh độ tối của thẻ
diff --git a/manager/app/src/main/res/values-zh-rCN/strings.xml b/manager/app/src/main/res/values-zh-rCN/strings.xml
index dabd1847..312ca0ed 100644
--- a/manager/app/src/main/res/values-zh-rCN/strings.xml
+++ b/manager/app/src/main/res/values-zh-rCN/strings.xml
@@ -346,4 +346,5 @@
应用语言
跟随系统
语言已更改,重启应用以应用更改
+ 卡片暗度调节
diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml
index 745edaee..3d3f7ab6 100644
--- a/manager/app/src/main/res/values/strings.xml
+++ b/manager/app/src/main/res/values/strings.xml
@@ -350,4 +350,5 @@
App Language
Follow System
Language changed, restarting to apply changes
+ Card Darkness Adjustment