Anonymous
Текст элемента диалогового окна с одним выбором не выровнен по переключателям
Сообщение
Anonymous » 06 июл 2024, 01:49
По какой-то причине компоненты «Текст» не выровнены точно по вертикали, как переключатели в моем диалоговом окне. Я пробовал регулировать значения заполнения в каждой части, но эффекта по-прежнему нет.
Код: Выделить всё
@Composable
fun CommonDialog(
title: String?,
state: MutableState,
content: @Composable (() -> Unit)? = null
) {
AlertDialog(
onDismissRequest = {
state.value = false
},
title = title?.let {
{
Column(
Modifier.fillMaxWidth(),
verticalArrangement = Arrangement.spacedBy(5.dp)
) {
Text(text = title)
}
}
},
text = content,
confirmButton = {
TextButton(onClick = { state.value = false }) {
Text(stringResource(id = R.string.button_cancel))
}
}, modifier = Modifier.padding(vertical = 5.dp)
)
}
@Composable
fun AlertSingleChoiceView(state: MutableState) {
CommonDialog(title = stringResource(id = R.string.theme), state = state) {
SingleChoiceView()
}
}
@Composable
fun SingleChoiceView() {
val radioOptions = listOf(
stringResource(id = R.string.straight),
stringResource(id = R.string.curly),
stringResource(id = R.string.wavy))
val (selectedOption, onOptionSelected) = remember { mutableStateOf(radioOptions[2]) }
Column(
Modifier.fillMaxWidth()
) {
radioOptions.forEach { text ->
Row(
Modifier
.fillMaxWidth()
.selectable(
selected = (text == selectedOption),
onClick = {
onOptionSelected(text)
}
)
.padding(vertical = 5.dp)
) {
RadioButton(
selected = (text == selectedOption),
onClick = { onOptionSelected(text) }
)
Text(
text = text
)
}
}
}
}
Текущий результат
[img]
https://i . sstatic.net/cctGX.png[/img]
Подробнее здесь:
https://stackoverflow.com/questions/726 ... io-buttons
1720219754
Anonymous
По какой-то причине компоненты «Текст» не выровнены точно по вертикали, как переключатели в моем диалоговом окне. Я пробовал регулировать значения заполнения в каждой части, но эффекта по-прежнему нет. [code]@Composable fun CommonDialog( title: String?, state: MutableState, content: @Composable (() -> Unit)? = null ) { AlertDialog( onDismissRequest = { state.value = false }, title = title?.let { { Column( Modifier.fillMaxWidth(), verticalArrangement = Arrangement.spacedBy(5.dp) ) { Text(text = title) } } }, text = content, confirmButton = { TextButton(onClick = { state.value = false }) { Text(stringResource(id = R.string.button_cancel)) } }, modifier = Modifier.padding(vertical = 5.dp) ) } @Composable fun AlertSingleChoiceView(state: MutableState) { CommonDialog(title = stringResource(id = R.string.theme), state = state) { SingleChoiceView() } } @Composable fun SingleChoiceView() { val radioOptions = listOf( stringResource(id = R.string.straight), stringResource(id = R.string.curly), stringResource(id = R.string.wavy)) val (selectedOption, onOptionSelected) = remember { mutableStateOf(radioOptions[2]) } Column( Modifier.fillMaxWidth() ) { radioOptions.forEach { text -> Row( Modifier .fillMaxWidth() .selectable( selected = (text == selectedOption), onClick = { onOptionSelected(text) } ) .padding(vertical = 5.dp) ) { RadioButton( selected = (text == selectedOption), onClick = { onOptionSelected(text) } ) Text( text = text ) } } } } [/code] [b]Текущий результат[/b] [img]https://i. sstatic.net/cctGX.png[/img] Подробнее здесь: [url]https://stackoverflow.com/questions/72638384/single-choice-dialog-item-text-not-aligned-with-radio-buttons[/url]