OutlideTextField имеет невидимую границу/прокладку, которые покрывают элемент над нимAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 OutlideTextField имеет невидимую границу/прокладку, которые покрывают элемент над ним

Сообщение Anonymous »

Я внедряю приложение JetPack Compose с KMP, и у меня есть экран, на котором есть строка с флажком и Column с OutlinedTextField в столбце, изложенное текстовое поле покажет или скрыть в зависимости от фиксации . CheckBox is checked, there's some invisible border/padding being show together with the OutlinedTextField and causing the CheckBox not reacting to press, only the top edge that the invisible border/padding doesn't cover can click to uncheck the CheckBox
Not enough reputation to embed images

Before checked

After Проверено < /p>
Вот минимальный воспроизводимый код < /p>

Код: Выделить всё

class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
MyKadReaderTheme {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
PageContent(Modifier.padding(innerPadding))
}
}
}
}
}
< /code>
@Composable
fun PageContent(modifier: Modifier = Modifier) {
var isItemChecked by remember { mutableStateOf(false) }
Box(
modifier
.fillMaxSize()
.padding(16.dp)
) {
Column(
modifier = Modifier
.fillMaxWidth()
) {
CheckBoxItem(
label = "Item 1",
isChecked = isItemChecked,
onChecked = { isChecked, _ ->
isItemChecked = isChecked
}
)
if (isItemChecked) {
CustomInputText()
}
}
Button(
modifier = modifier
.fillMaxWidth()
.align(Alignment.BottomCenter), onClick = {

}) {
Text(text = "Continue")
}
}
}
< /code>
@Composable
fun CheckBoxItem(
label: String = "",
isChecked: Boolean = false,
onChecked: (Boolean, String) -> Unit = { _, _ -> },
) {
Row(
modifier = Modifier
.fillMaxWidth()
.clickable {
onChecked(!isChecked, label)
},
verticalAlignment = Alignment.CenterVertically,
) {
Checkbox(
checked = isChecked,
onCheckedChange = {
onChecked(it, label)
}
)
Text(
modifier = Modifier.weight(0.8f),
text = label,
)
}
}
< /code>
@Composable
fun CustomInputText(isError: Boolean = false) {
var text = remember { mutableStateOf("") }
Column {
OutlinedTextField(
value = text.value,
onValueChange = { text.value = it },
modifier = Modifier.fillMaxWidth(),
isError = isError
)
if (isError) {
Text(text = "Error Message")
}
}
}
Я попытался заменить пользовательское текстовое поле на OutlinedTextField напрямую, и он фактически позволил нажать на флажок без каких-либо проблем, и до сих пор я наблюдаю за этим на Android 15, что немного странно.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... t-above-it
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • OutlideTextField имеет невидимую границу/прокладку, которые покрывают элемент над ним
    Anonymous » » в форуме Android
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • OutlideTextField имеет невидимую границу/прокладку, которые покрывают элемент над ним
    Anonymous » » в форуме Android
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • OutlideTextField имеет невидимую границу/прокладку, которые покрывают элемент над ним
    Anonymous » » в форуме Android
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Можете ли вы сделать "невидимую границу"?
    Anonymous » » в форуме Html
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Можете ли вы сделать "невидимую границу"?
    Anonymous » » в форуме CSS
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»