fix: 搜索框默认文本

This commit is contained in:
HapeLee
2026-06-14 00:21:15 +08:00
parent b362161b7f
commit 83bc818544
10 changed files with 16 additions and 9 deletions
@@ -383,7 +383,7 @@ private fun RssSearchSheet(
query = query, query = query,
onQueryChange = onQueryChange, onQueryChange = onQueryChange,
onSearch = onSearch, onSearch = onSearch,
placeholder = stringResource(R.string.search_content), placeholder = stringResource(R.string.search_placeholder),
modifier = Modifier.fillMaxWidth() modifier = Modifier.fillMaxWidth()
) )
} }
@@ -84,7 +84,7 @@ fun FontSelectGrid(
SearchBar( SearchBar(
query = searchQuery, query = searchQuery,
onQueryChange = { searchQuery = it }, onQueryChange = { searchQuery = it },
placeholder = stringResource(R.string.search_content), placeholder = stringResource(R.string.search_placeholder),
autoFocus = false, autoFocus = false,
) )
@@ -24,8 +24,10 @@ import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.ImeAction
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import io.legado.app.R
import io.legado.app.ui.theme.LegadoTheme import io.legado.app.ui.theme.LegadoTheme
import io.legado.app.ui.theme.ThemeResolver import io.legado.app.ui.theme.ThemeResolver
import io.legado.app.ui.widget.components.icon.AppIcon import io.legado.app.ui.widget.components.icon.AppIcon
@@ -41,7 +43,7 @@ fun SearchBar(
query: String, query: String,
onQueryChange: (String) -> Unit, onQueryChange: (String) -> Unit,
onSearch: (String) -> Unit = {}, onSearch: (String) -> Unit = {},
placeholder: String = "搜索...", placeholder: String? = null,
leadingIcon: @Composable (() -> Unit)? = { leadingIcon: @Composable (() -> Unit)? = {
AppIcon( AppIcon(
modifier = Modifier.padding(horizontal = 12.dp), modifier = Modifier.padding(horizontal = 12.dp),
@@ -93,6 +95,7 @@ fun SearchBar(
} else { } else {
if (isMiuix) MiuixTheme.colorScheme.surfaceContainer else MaterialTheme.colorScheme.surfaceContainerLow if (isMiuix) MiuixTheme.colorScheme.surfaceContainer else MaterialTheme.colorScheme.surfaceContainerLow
} }
val resolvedPlaceholder = placeholder ?: stringResource(R.string.search_placeholder)
if (isMiuix) { if (isMiuix) {
AppDenseTextField( AppDenseTextField(
@@ -101,7 +104,7 @@ fun SearchBar(
.fillMaxWidth() .fillMaxWidth()
.padding(vertical = 4.dp) .padding(vertical = 4.dp)
.focusRequester(focusRequester), .focusRequester(focusRequester),
placeholder = { AppText(placeholder) }, placeholder = { AppText(resolvedPlaceholder) },
leadingIcon = leadingIcon, leadingIcon = leadingIcon,
trailingIcon = trailingIcon, trailingIcon = trailingIcon,
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Search), keyboardOptions = KeyboardOptions(imeAction = ImeAction.Search),
@@ -111,7 +114,7 @@ fun SearchBar(
lineLimits = TextFieldLineLimits.SingleLine, lineLimits = TextFieldLineLimits.SingleLine,
backgroundColor = resolvedBackgroundColor, backgroundColor = resolvedBackgroundColor,
miuixUseSearchBarInputField = true, miuixUseSearchBarInputField = true,
miuixSearchBarLabel = placeholder, miuixSearchBarLabel = resolvedPlaceholder,
miuixOnSearch = onSearch, miuixOnSearch = onSearch,
) )
} else { } else {
@@ -127,7 +130,7 @@ fun SearchBar(
modifier = modifier modifier = modifier
.fillMaxWidth() .fillMaxWidth()
.focusRequester(focusRequester), .focusRequester(focusRequester),
placeholder = { AppText(placeholder) }, placeholder = { AppText(resolvedPlaceholder) },
leadingIcon = leadingIcon, leadingIcon = leadingIcon,
trailingIcon = trailingIcon, trailingIcon = trailingIcon,
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Search), keyboardOptions = KeyboardOptions(imeAction = ImeAction.Search),
@@ -51,7 +51,7 @@ fun <T> ListScaffold(
onSearchQueryChange: (String) -> Unit, onSearchQueryChange: (String) -> Unit,
onSearchSubmit: (String) -> Unit = {}, onSearchSubmit: (String) -> Unit = {},
searchTrailingIcon: @Composable (() -> Unit)? = null, searchTrailingIcon: @Composable (() -> Unit)? = null,
searchPlaceholder: String = "搜索...", searchPlaceholder: String? = null,
topBarActions: @Composable RowScope.() -> Unit = {}, topBarActions: @Composable RowScope.() -> Unit = {},
bottomContent: @Composable (ColumnScope.(GlassTopAppBarScrollBehavior) -> Unit)? = null, bottomContent: @Composable (ColumnScope.(GlassTopAppBarScrollBehavior) -> Unit)? = null,
dropDownMenuContent: @Composable (ColumnScope.(dismiss: () -> Unit) -> Unit)? = null, dropDownMenuContent: @Composable (ColumnScope.(dismiss: () -> Unit) -> Unit)? = null,
@@ -44,7 +44,7 @@ fun <T> RuleListScaffold(
onBackClick: () -> Unit, onBackClick: () -> Unit,
onSearchToggle: (Boolean) -> Unit, onSearchToggle: (Boolean) -> Unit,
onSearchQueryChange: (String) -> Unit, onSearchQueryChange: (String) -> Unit,
searchPlaceholder: String = "搜索...", searchPlaceholder: String? = null,
topBarActions: @Composable RowScope.() -> Unit = {}, topBarActions: @Composable RowScope.() -> Unit = {},
bottomContent: @Composable (ColumnScope.(GlassTopAppBarScrollBehavior) -> Unit)? = null, bottomContent: @Composable (ColumnScope.(GlassTopAppBarScrollBehavior) -> Unit)? = null,
dropDownMenuContent: (@Composable ColumnScope.(dismiss: () -> Unit) -> Unit)? = null, dropDownMenuContent: (@Composable ColumnScope.(dismiss: () -> Unit) -> Unit)? = null,
@@ -40,7 +40,7 @@ fun <T> DynamicTopAppBar(
onSearchToggle: (Boolean) -> Unit, onSearchToggle: (Boolean) -> Unit,
onSearchQueryChange: (String) -> Unit, onSearchQueryChange: (String) -> Unit,
onSearchSubmit: (String) -> Unit = {}, onSearchSubmit: (String) -> Unit = {},
searchPlaceholder: String, searchPlaceholder: String?,
searchLeadingIcon: ImageVector = Icons.Default.Search, searchLeadingIcon: ImageVector = Icons.Default.Search,
searchTrailingIcon: @Composable (() -> Unit)? = null, searchTrailingIcon: @Composable (() -> Unit)? = null,
searchDropdownMenu: (@Composable (onDismiss: () -> Unit) -> Unit)? = null, searchDropdownMenu: (@Composable (onDismiss: () -> Unit) -> Unit)? = null,
@@ -105,6 +105,7 @@
<string name="version">版本</string> <string name="version">版本</string>
<string name="local">本地</string> <string name="local">本地</string>
<string name="search">搜索</string> <string name="search">搜索</string>
<string name="search_placeholder">搜索…</string>
<string name="input_search_key">Input search keyword</string> <string name="input_search_key">Input search keyword</string>
<string name="origin_format">来源:%s</string> <string name="origin_format">来源:%s</string>
<string name="read_dur_progress">最近:%s</string> <string name="read_dur_progress">最近:%s</string>
@@ -78,6 +78,7 @@
<string name="version">版本</string> <string name="version">版本</string>
<string name="local">本地</string> <string name="local">本地</string>
<string name="search">搜尋</string> <string name="search">搜尋</string>
<string name="search_placeholder">搜尋…</string>
<string name="input_search_key">Input search keyword</string> <string name="input_search_key">Input search keyword</string>
<string name="origin_format">來源: %s</string> <string name="origin_format">來源: %s</string>
<string name="read_dur_progress">最近: %s</string> <string name="read_dur_progress">最近: %s</string>
@@ -80,6 +80,7 @@
<string name="version">版本</string> <string name="version">版本</string>
<string name="local">本機</string> <string name="local">本機</string>
<string name="search">搜尋</string> <string name="search">搜尋</string>
<string name="search_placeholder">搜尋…</string>
<string name="input_search_key">Input search keyword</string> <string name="input_search_key">Input search keyword</string>
<string name="origin_format">來源:%s</string> <string name="origin_format">來源:%s</string>
<string name="read_dur_progress">最近:%s</string> <string name="read_dur_progress">最近:%s</string>
+1
View File
@@ -124,6 +124,7 @@
<string name="version">Version</string> <string name="version">Version</string>
<string name="local">Local</string> <string name="local">Local</string>
<string name="search">Search</string> <string name="search">Search</string>
<string name="search_placeholder">Search…</string>
<string name="input_search_key">Input search keyword</string> <string name="input_search_key">Input search keyword</string>
<string name="origin_format">Origin: %s</string> <string name="origin_format">Origin: %s</string>
<string name="read_dur_progress">Origin: %s</string> <string name="read_dur_progress">Origin: %s</string>