Код: Выделить всё
SingleChoiceSegmentedButtonRow(
) {
val options = listOf("Short", "Two Words", "Longer Words")
options.forEachIndexed { index, option ->
SegmentedButton(
shape = SegmentedButtonDefaults.itemShape(index = index, count = options.size),
selected = false,
onClick = {},
icon = {},
) {
Text(
text = option,
fontSize = 14.sp,
)
}
}
}
[img]https://i .sstatic.net/JfGSf0G2.png[/img]
Основываясь на вопросе с аналогичной проблемой, я добавил Modifier.height(IntrinsicSize.Min) в SingleChoiceSegmentedButtonRow и Modifier.fillMaxHeight() для SegmentedButton. Это выровняло кнопки, но затем обрезало текст:

Я пробовал много комбинаций fillMaxHeight, IntrinsicSize.Min и IntrinsicSize.Max в SingleChoiceSegmentedButtonRow, SegmentedButton и Text, но ничего из того, что я пробовал, не дало других результатов.
Добавление Modifier.height(40.dp) в Текст помогает:

Но я понимаю, что такая жестко запрограммированная высота вызовет проблемы на разных устройствах и размерах шрифта.
И очень загадочно, применение Modifier.padding(horizontal = 5.dp) (да, горизонтально, а не вертикально) к тексту работает лучше всего:
Похоже, что это должно быть очень просто и не должно требовать размеров жесткого кодирования. Что мне не хватает?
Подробнее здесь: https://stackoverflow.com/questions/790 ... g-off-text
Мобильная версия