移除了边框设置(因为MIUIX主题暂不生效,在考虑搞个更通用的)
This commit is contained in:
8 files changed
+9
-206
No files matched your search
@@ -150,11 +150,6 @@ object ThemeImportExport {
|
|||||||
|
|
||||||
// 容器设置
|
// 容器设置
|
||||||
containerOpacity = ThemeConfig.containerOpacity,
|
containerOpacity = ThemeConfig.containerOpacity,
|
||||||
enableContainerBorder = ThemeConfig.enableContainerBorder,
|
|
||||||
containerBorderWidth = ThemeConfig.containerBorderWidth,
|
|
||||||
containerBorderStyle = ThemeConfig.containerBorderStyle,
|
|
||||||
containerBorderColor = ThemeConfig.containerBorderColor,
|
|
||||||
containerBorderDashWidth = ThemeConfig.containerBorderDashWidth,
|
|
||||||
|
|
||||||
// 分割线设置
|
// 分割线设置
|
||||||
enableItemDivider = ThemeConfig.enableItemDivider,
|
enableItemDivider = ThemeConfig.enableItemDivider,
|
||||||
@@ -238,11 +233,6 @@ object ThemeImportExport {
|
|||||||
|
|
||||||
// 容器设置
|
// 容器设置
|
||||||
ThemeConfig.containerOpacity = data.containerOpacity
|
ThemeConfig.containerOpacity = data.containerOpacity
|
||||||
ThemeConfig.enableContainerBorder = data.enableContainerBorder
|
|
||||||
ThemeConfig.containerBorderWidth = data.containerBorderWidth
|
|
||||||
ThemeConfig.containerBorderStyle = data.containerBorderStyle
|
|
||||||
ThemeConfig.containerBorderColor = data.containerBorderColor
|
|
||||||
ThemeConfig.containerBorderDashWidth = data.containerBorderDashWidth
|
|
||||||
|
|
||||||
// 分割线设置
|
// 分割线设置
|
||||||
ThemeConfig.enableItemDivider = data.enableItemDivider
|
ThemeConfig.enableItemDivider = data.enableItemDivider
|
||||||
@@ -379,11 +369,6 @@ data class ThemeExportData(
|
|||||||
|
|
||||||
// 容器设置
|
// 容器设置
|
||||||
val containerOpacity: Int = 100,
|
val containerOpacity: Int = 100,
|
||||||
val enableContainerBorder: Boolean = false,
|
|
||||||
val containerBorderWidth: Float = 1f,
|
|
||||||
val containerBorderStyle: String = "solid",
|
|
||||||
val containerBorderColor: Int = 0,
|
|
||||||
val containerBorderDashWidth: Float = 4f,
|
|
||||||
|
|
||||||
// 分割线设置
|
// 分割线设置
|
||||||
val enableItemDivider: Boolean = false,
|
val enableItemDivider: Boolean = false,
|
||||||
|
|||||||
@@ -98,16 +98,6 @@ object ThemeConfig {
|
|||||||
|
|
||||||
var labelContainerColor by prefDelegate(PreferKey.labelContainerColor, 0)
|
var labelContainerColor by prefDelegate(PreferKey.labelContainerColor, 0)
|
||||||
|
|
||||||
var enableContainerBorder by prefDelegate(PreferKey.enableContainerBorder, false)
|
|
||||||
|
|
||||||
var containerBorderWidth by prefDelegate(PreferKey.containerBorderWidth, 1f)
|
|
||||||
|
|
||||||
var containerBorderStyle by prefDelegate(PreferKey.containerBorderStyle, "solid")
|
|
||||||
|
|
||||||
var containerBorderColor by prefDelegate(PreferKey.containerBorderColor, 0)
|
|
||||||
|
|
||||||
var containerBorderDashWidth by prefDelegate(PreferKey.containerBorderDashWidth, 4f)
|
|
||||||
|
|
||||||
var enableItemDivider by prefDelegate(PreferKey.enableItemDivider, false)
|
var enableItemDivider by prefDelegate(PreferKey.enableItemDivider, false)
|
||||||
|
|
||||||
var itemDividerWidth by prefDelegate(PreferKey.itemDividerWidth, 1f)
|
var itemDividerWidth by prefDelegate(PreferKey.itemDividerWidth, 1f)
|
||||||
|
|||||||
@@ -136,7 +136,6 @@ fun ThemeConfigScreen(
|
|||||||
var showRestartDialog by remember { mutableStateOf(false) }
|
var showRestartDialog by remember { mutableStateOf(false) }
|
||||||
var showLauncherIconPicker by remember { mutableStateOf(false) }
|
var showLauncherIconPicker by remember { mutableStateOf(false) }
|
||||||
var showBorderColorPicker by remember { mutableStateOf(false) }
|
var showBorderColorPicker by remember { mutableStateOf(false) }
|
||||||
var currentBorderColorKey by remember { mutableStateOf("containerBorderColor") }
|
|
||||||
var showNavIconSheet by remember { mutableStateOf(false) }
|
var showNavIconSheet by remember { mutableStateOf(false) }
|
||||||
var showFontSheet by remember { mutableStateOf(false) }
|
var showFontSheet by remember { mutableStateOf(false) }
|
||||||
var fontItems by remember { mutableStateOf<List<FileDoc>>(emptyList()) }
|
var fontItems by remember { mutableStateOf<List<FileDoc>>(emptyList()) }
|
||||||
@@ -609,62 +608,9 @@ fun ThemeConfigScreen(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Border settings
|
// Container settings
|
||||||
item {
|
item {
|
||||||
SplicedColumnGroup(title = "容器设置") {
|
SplicedColumnGroup(title = "容器设置") {
|
||||||
SwitchSettingItem(
|
|
||||||
title = "显示容器边框",
|
|
||||||
checked = ThemeConfig.enableContainerBorder,
|
|
||||||
onCheckedChange = { ThemeConfig.enableContainerBorder = it }
|
|
||||||
)
|
|
||||||
if (ThemeConfig.enableContainerBorder) {
|
|
||||||
SliderSettingItem(
|
|
||||||
title = "边框粗细",
|
|
||||||
description = "${ThemeConfig.containerBorderWidth}dp",
|
|
||||||
value = ThemeConfig.containerBorderWidth,
|
|
||||||
defaultValue = 1f,
|
|
||||||
valueRange = 0f..5f,
|
|
||||||
steps = 49,
|
|
||||||
onValueChange = { ThemeConfig.containerBorderWidth = it }
|
|
||||||
)
|
|
||||||
DropdownListSettingItem(
|
|
||||||
title = "边框样式",
|
|
||||||
selectedValue = ThemeConfig.containerBorderStyle,
|
|
||||||
displayEntries = arrayOf("实线", "虚线"),
|
|
||||||
entryValues = arrayOf("solid", "dashed"),
|
|
||||||
onValueChange = { ThemeConfig.containerBorderStyle = it }
|
|
||||||
)
|
|
||||||
if (ThemeConfig.containerBorderStyle == "dashed") {
|
|
||||||
SliderSettingItem(
|
|
||||||
title = "虚线间隔",
|
|
||||||
description = "${ThemeConfig.containerBorderDashWidth}dp",
|
|
||||||
value = ThemeConfig.containerBorderDashWidth,
|
|
||||||
defaultValue = 4f,
|
|
||||||
valueRange = 1f..10f,
|
|
||||||
steps = 89,
|
|
||||||
onValueChange = { ThemeConfig.containerBorderDashWidth = it }
|
|
||||||
)
|
|
||||||
}
|
|
||||||
ClickableSettingItem(
|
|
||||||
title = "边框颜色",
|
|
||||||
option = if (ThemeConfig.containerBorderColor != 0) "#${Integer.toHexString(ThemeConfig.containerBorderColor).uppercase()}" else stringResource(R.string.click_to_select),
|
|
||||||
onClick = {
|
|
||||||
currentBorderColorKey = "containerBorderColor"
|
|
||||||
showBorderColorPicker = true
|
|
||||||
},
|
|
||||||
trailingContent = {
|
|
||||||
if (ThemeConfig.containerBorderColor != 0) {
|
|
||||||
Box(
|
|
||||||
modifier = Modifier
|
|
||||||
.size(28.dp)
|
|
||||||
.clip(CircleShape)
|
|
||||||
.background(Color(ThemeConfig.containerBorderColor))
|
|
||||||
.border(1.dp, MaterialTheme.colorScheme.outlineVariant, CircleShape)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
SwitchSettingItem(
|
SwitchSettingItem(
|
||||||
title = "显示分割线",
|
title = "显示分割线",
|
||||||
checked = ThemeConfig.enableItemDivider,
|
checked = ThemeConfig.enableItemDivider,
|
||||||
@@ -693,7 +639,6 @@ fun ThemeConfigScreen(
|
|||||||
title = "分割线颜色",
|
title = "分割线颜色",
|
||||||
option = if (ThemeConfig.itemDividerColor != 0) "#${Integer.toHexString(ThemeConfig.itemDividerColor).uppercase()}" else stringResource(R.string.click_to_select),
|
option = if (ThemeConfig.itemDividerColor != 0) "#${Integer.toHexString(ThemeConfig.itemDividerColor).uppercase()}" else stringResource(R.string.click_to_select),
|
||||||
onClick = {
|
onClick = {
|
||||||
currentBorderColorKey = "itemDividerColor"
|
|
||||||
showBorderColorPicker = true
|
showBorderColorPicker = true
|
||||||
},
|
},
|
||||||
trailingContent = {
|
trailingContent = {
|
||||||
@@ -790,17 +735,11 @@ fun ThemeConfigScreen(
|
|||||||
|
|
||||||
ColorPickerSheet(
|
ColorPickerSheet(
|
||||||
show = showBorderColorPicker,
|
show = showBorderColorPicker,
|
||||||
initialColor = when (currentBorderColorKey) {
|
initialColor = ThemeConfig.itemDividerColor,
|
||||||
"containerBorderColor" -> ThemeConfig.containerBorderColor
|
|
||||||
"itemDividerColor" -> ThemeConfig.itemDividerColor
|
|
||||||
else -> 0
|
|
||||||
},
|
|
||||||
onDismissRequest = { showBorderColorPicker = false },
|
onDismissRequest = { showBorderColorPicker = false },
|
||||||
onColorSelected = {
|
onColorSelected = {
|
||||||
when (currentBorderColorKey) {
|
ThemeConfig.itemDividerColor = it
|
||||||
"containerBorderColor" -> ThemeConfig.containerBorderColor = it
|
showBorderColorPicker = false
|
||||||
"itemDividerColor" -> ThemeConfig.itemDividerColor = it
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -813,10 +752,7 @@ fun ThemeConfigScreen(
|
|||||||
imageVector = Icons.Default.Delete,
|
imageVector = Icons.Default.Delete,
|
||||||
contentDescription = "清除",
|
contentDescription = "清除",
|
||||||
onClick = {
|
onClick = {
|
||||||
fontFolderUri = null
|
|
||||||
context.putPrefString(PreferKey.fontFolder, "")
|
|
||||||
ThemeConfig.appFontPath = null
|
ThemeConfig.appFontPath = null
|
||||||
fontItems = emptyList()
|
|
||||||
showFontSheet = false
|
showFontSheet = false
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import androidx.compose.animation.ExperimentalSharedTransitionApi
|
|||||||
import androidx.compose.animation.SharedTransitionScope
|
import androidx.compose.animation.SharedTransitionScope
|
||||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.border
|
|
||||||
import androidx.compose.foundation.combinedClickable
|
import androidx.compose.foundation.combinedClickable
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
@@ -29,16 +28,10 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.draw.drawWithContent
|
|
||||||
import androidx.compose.ui.draw.shadow
|
import androidx.compose.ui.draw.shadow
|
||||||
import androidx.compose.ui.geometry.CornerRadius
|
|
||||||
import androidx.compose.ui.geometry.Offset
|
|
||||||
import androidx.compose.ui.geometry.Size
|
|
||||||
import androidx.compose.ui.graphics.Brush
|
import androidx.compose.ui.graphics.Brush
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.graphics.PathEffect
|
|
||||||
import androidx.compose.ui.graphics.Shadow
|
import androidx.compose.ui.graphics.Shadow
|
||||||
import androidx.compose.ui.graphics.drawscope.Stroke
|
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
@@ -101,41 +94,6 @@ fun BookshelfItem(
|
|||||||
LegadoTheme.colorScheme.cardContainer
|
LegadoTheme.colorScheme.cardContainer
|
||||||
}
|
}
|
||||||
|
|
||||||
val borderWidth = ThemeConfig.containerBorderWidth.dp
|
|
||||||
val borderColor = if (ThemeConfig.containerBorderColor != 0) {
|
|
||||||
Color(ThemeConfig.containerBorderColor)
|
|
||||||
} else {
|
|
||||||
LegadoTheme.colorScheme.outline
|
|
||||||
}
|
|
||||||
val borderStyle = ThemeConfig.containerBorderStyle
|
|
||||||
val enableBorder = ThemeConfig.enableDeepPersonalization && ThemeConfig.enableContainerBorder
|
|
||||||
|
|
||||||
val borderModifier = if (enableBorder && borderStyle == "solid") {
|
|
||||||
Modifier.border(borderWidth, borderColor, MaterialTheme.shapes.small)
|
|
||||||
} else if (enableBorder) {
|
|
||||||
val dashWidth = ThemeConfig.containerBorderDashWidth
|
|
||||||
val pathEffect = when (borderStyle) {
|
|
||||||
"dashed" -> PathEffect.dashPathEffect(floatArrayOf(dashWidth, dashWidth))
|
|
||||||
"dotted" -> PathEffect.dashPathEffect(floatArrayOf(dashWidth / 2, dashWidth))
|
|
||||||
else -> null
|
|
||||||
}
|
|
||||||
Modifier.drawWithContent {
|
|
||||||
drawContent()
|
|
||||||
val cornerRadius = CornerRadius(8.dp.toPx(), 8.dp.toPx())
|
|
||||||
val halfStroke = borderWidth.toPx() / 2
|
|
||||||
drawRoundRect(
|
|
||||||
color = borderColor,
|
|
||||||
topLeft = Offset(halfStroke, halfStroke),
|
|
||||||
size = Size(size.width - borderWidth.toPx(), size.height - borderWidth.toPx()),
|
|
||||||
cornerRadius = cornerRadius,
|
|
||||||
style = Stroke(width = borderWidth.toPx(), pathEffect = pathEffect)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
LegadoTheme.colorScheme.surface.copy(alpha = 0f)
|
|
||||||
Modifier
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isGrid) {
|
if (isGrid) {
|
||||||
Box(
|
Box(
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
@@ -209,8 +167,7 @@ fun BookshelfItem(
|
|||||||
NormalCard(
|
NormalCard(
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(all = 4.dp)
|
.padding(all = 4.dp),
|
||||||
.then(borderModifier),
|
|
||||||
cornerRadius = 8.dp,
|
cornerRadius = 8.dp,
|
||||||
containerColor = if (isSelected) {
|
containerColor = if (isSelected) {
|
||||||
LegadoTheme.colorScheme.secondaryContainer
|
LegadoTheme.colorScheme.secondaryContainer
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package io.legado.app.ui.rss.article
|
package io.legado.app.ui.rss.article
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.border
|
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
@@ -67,7 +66,6 @@ import io.legado.app.ui.widget.components.cover.buildCoverImageRequest
|
|||||||
import io.legado.app.utils.toastOnUi
|
import io.legado.app.utils.toastOnUi
|
||||||
import io.legado.app.ui.config.themeConfig.ThemeConfig
|
import io.legado.app.ui.config.themeConfig.ThemeConfig
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.unit.Dp
|
|
||||||
import kotlinx.coroutines.Dispatchers.IO
|
import kotlinx.coroutines.Dispatchers.IO
|
||||||
import kotlinx.coroutines.flow.catch
|
import kotlinx.coroutines.flow.catch
|
||||||
import kotlinx.coroutines.flow.flowOn
|
import kotlinx.coroutines.flow.flowOn
|
||||||
@@ -356,22 +354,11 @@ private fun RssArticleItem(
|
|||||||
RssArticleLayout.Waterfall -> 3
|
RssArticleLayout.Waterfall -> 3
|
||||||
}
|
}
|
||||||
|
|
||||||
// 边框设置
|
|
||||||
val borderModifier = if (ThemeConfig.enableContainerBorder) {
|
|
||||||
Modifier.border(
|
|
||||||
width = Dp(ThemeConfig.containerBorderWidth),
|
|
||||||
color = Color(ThemeConfig.containerBorderColor),
|
|
||||||
shape = RoundedCornerShape(12.dp)
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
Modifier
|
|
||||||
}
|
|
||||||
|
|
||||||
GlassCard(
|
GlassCard(
|
||||||
onClick = { onClick(article) },
|
onClick = { onClick(article) },
|
||||||
cornerRadius = 12.dp,
|
cornerRadius = 12.dp,
|
||||||
containerColor = containerColor,
|
containerColor = containerColor,
|
||||||
modifier = Modifier.fillMaxWidth().then(borderModifier)
|
modifier = Modifier.fillMaxWidth()
|
||||||
) {
|
) {
|
||||||
when (layout) {
|
when (layout) {
|
||||||
RssArticleLayout.List -> {
|
RssArticleLayout.List -> {
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
package io.legado.app.ui.widget.components
|
package io.legado.app.ui.widget.components
|
||||||
|
|
||||||
import androidx.compose.animation.animateContentSize
|
import androidx.compose.animation.animateContentSize
|
||||||
import androidx.compose.foundation.border
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.ColumnScope
|
import androidx.compose.foundation.layout.ColumnScope
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.material3.MaterialTheme
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.runtime.compositionLocalOf
|
import androidx.compose.runtime.compositionLocalOf
|
||||||
@@ -44,13 +42,6 @@ fun SplicedColumnGroup(
|
|||||||
items: @Composable ColumnScope.() -> Unit,
|
items: @Composable ColumnScope.() -> Unit,
|
||||||
) {
|
) {
|
||||||
val composeEngine = LegadoTheme.composeEngine
|
val composeEngine = LegadoTheme.composeEngine
|
||||||
val enableBorder = ThemeConfig.enableContainerBorder
|
|
||||||
val borderWidth = ThemeConfig.containerBorderWidth.dp
|
|
||||||
val borderColor = if (ThemeConfig.containerBorderColor != 0) {
|
|
||||||
Color(ThemeConfig.containerBorderColor)
|
|
||||||
} else {
|
|
||||||
MaterialTheme.colorScheme.outline
|
|
||||||
}
|
|
||||||
val enableItemDivider = ThemeConfig.enableItemDivider
|
val enableItemDivider = ThemeConfig.enableItemDivider
|
||||||
val currentIndex = remember { mutableIntStateOf(0) }
|
val currentIndex = remember { mutableIntStateOf(0) }
|
||||||
|
|
||||||
@@ -88,23 +79,8 @@ fun SplicedColumnGroup(
|
|||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.animateContentSize()
|
.animateContentSize()
|
||||||
.clip(RoundedCornerShape(16.dp))
|
.clip(RoundedCornerShape(16.dp)),
|
||||||
.then(
|
verticalArrangement = Arrangement.spacedBy(2.dp)
|
||||||
if (enableBorder) {
|
|
||||||
Modifier.border(
|
|
||||||
width = borderWidth,
|
|
||||||
color = borderColor,
|
|
||||||
shape = RoundedCornerShape(16.dp)
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
Modifier
|
|
||||||
}
|
|
||||||
),
|
|
||||||
verticalArrangement = if (enableBorder) {
|
|
||||||
Arrangement.spacedBy(0.dp)
|
|
||||||
} else {
|
|
||||||
Arrangement.spacedBy(2.dp)
|
|
||||||
}
|
|
||||||
) {
|
) {
|
||||||
currentIndex.intValue = 0
|
currentIndex.intValue = 0
|
||||||
items()
|
items()
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package io.legado.app.ui.widget.components.explore
|
package io.legado.app.ui.widget.components.explore
|
||||||
|
|
||||||
import androidx.compose.foundation.BorderStroke
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
@@ -40,14 +39,6 @@ fun ExploreKindItem(
|
|||||||
|
|
||||||
val cornerRadius = 12.dp
|
val cornerRadius = 12.dp
|
||||||
|
|
||||||
val enableBorder = ThemeConfig.enableDeepPersonalization && ThemeConfig.enableContainerBorder
|
|
||||||
val borderWidth = (ThemeConfig.containerBorderWidth - 0.8f).coerceAtLeast(0.1f).dp
|
|
||||||
val borderColor = if (ThemeConfig.containerBorderColor != 0) {
|
|
||||||
androidx.compose.ui.graphics.Color(ThemeConfig.containerBorderColor)
|
|
||||||
} else {
|
|
||||||
LegadoTheme.colorScheme.outline
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isClickable) {
|
if (isClickable) {
|
||||||
GlassCard(
|
GlassCard(
|
||||||
onClick = onClick,
|
onClick = onClick,
|
||||||
@@ -55,9 +46,6 @@ fun ExploreKindItem(
|
|||||||
containerColor = backgroundColor,
|
containerColor = backgroundColor,
|
||||||
contentColor = LegadoTheme.colorScheme.onSurface,
|
contentColor = LegadoTheme.colorScheme.onSurface,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
border = if (enableBorder) {
|
|
||||||
BorderStroke(borderWidth, borderColor)
|
|
||||||
} else null
|
|
||||||
) {
|
) {
|
||||||
KindText(
|
KindText(
|
||||||
text = displayText,
|
text = displayText,
|
||||||
@@ -71,9 +59,6 @@ fun ExploreKindItem(
|
|||||||
containerColor = backgroundColor,
|
containerColor = backgroundColor,
|
||||||
contentColor = LegadoTheme.colorScheme.primary,
|
contentColor = LegadoTheme.colorScheme.primary,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
border = if (enableBorder) {
|
|
||||||
BorderStroke(borderWidth, borderColor)
|
|
||||||
} else BorderStroke(1.dp, LegadoTheme.colorScheme.outlineVariant)
|
|
||||||
) {
|
) {
|
||||||
KindText(
|
KindText(
|
||||||
text = displayText,
|
text = displayText,
|
||||||
|
|||||||
+1
-14
@@ -2,9 +2,7 @@ package io.legado.app.ui.widget.components.explore
|
|||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.border
|
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
import androidx.compose.foundation.interaction.collectIsFocusedAsState
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
@@ -320,17 +318,7 @@ private fun ExploreKindCompactTextField(
|
|||||||
isMiuix: Boolean
|
isMiuix: Boolean
|
||||||
) {
|
) {
|
||||||
val interactionSource = remember { MutableInteractionSource() }
|
val interactionSource = remember { MutableInteractionSource() }
|
||||||
val isFocused by interactionSource.collectIsFocusedAsState()
|
|
||||||
val shape = RoundedCornerShape(10.dp)
|
val shape = RoundedCornerShape(10.dp)
|
||||||
val enableBorder = ThemeConfig.enableDeepPersonalization && ThemeConfig.enableContainerBorder
|
|
||||||
val borderWidth = ThemeConfig.containerBorderWidth.dp
|
|
||||||
val borderColor = if (ThemeConfig.containerBorderColor != 0) {
|
|
||||||
Color(ThemeConfig.containerBorderColor)
|
|
||||||
} else if (isFocused) {
|
|
||||||
LegadoTheme.colorScheme.primary
|
|
||||||
} else {
|
|
||||||
Color.Transparent
|
|
||||||
}
|
|
||||||
|
|
||||||
BasicTextField(
|
BasicTextField(
|
||||||
value = value,
|
value = value,
|
||||||
@@ -342,8 +330,7 @@ private fun ExploreKindCompactTextField(
|
|||||||
modifier = modifier
|
modifier = modifier
|
||||||
.height(34.dp)
|
.height(34.dp)
|
||||||
.clip(shape)
|
.clip(shape)
|
||||||
.background(backgroundColor)
|
.background(backgroundColor),
|
||||||
.border(width = borderWidth, color = borderColor, shape = shape),
|
|
||||||
decorationBox = { innerTextField ->
|
decorationBox = { innerTextField ->
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
|
|||||||
Reference in new issue
Block a user