gpt4 book ai didi

android - LazyColumn 中的 TextField IME 填充,撰写

转载 作者:行者123 更新时间:2023-12-04 23:36:53 25 4
gpt4 key购买 nike

问题:TextField(惰性列内)文本位于键盘下方
解释:
我有一个 LazyColumn ,其中包含显示文本字段的项目列表,在 list 中, Activity 具有 windowSoftInputMode="adjustResize"我也在设置标志WindowCompat.setDecorFitsSystemWindows(window,false)在 setContent 之前的 onCreate 方法中,我想让文本始终出现在键盘上方,以获得更流畅的编辑体验!
使用提供 Window Insets 的伴奏库为 Box 提供填充,如下所示

Box(modifier = Modifier.weight(1f).navigationBarsWithImePadding()){
LazyColumn() {
items(myItems) { item->
ItemComposable(item)
}
}
}
如您所见,框上有 navigationBarsWithImePadding,但由于文本位于键盘下方,因此它不起作用,我尝试在 LazyColumn 上设置修饰符,但随后它提供了 LazyColumn 相对于框外其他项目的填充!
所以我尝试了 contentPadding
LazyColumn(contentPadding=insets.ime.toPaddingValues(additionalBottom=insets.navigationBars.bottom.dp)) {
items(editor.blocks) { block ->
RenderBlock(block)
}
}
再次不起作用,因为内容填充应用于最后一项/或之后,键盘位于文本上方
将 LazyColumn 替换为简单的 Column 并使用 垂直滚动 修饰符导致同样的问题,因为列表可以长垂直滚动成为需要

最佳答案

如果使用 Column,可以引用以下代码 fragment :

Column(
modifier = Modifier
// other modifiers
.verticalScroll(scrollState, reverseScrolling = true)
.navigationBarsWithImePadding(),
verticalArrangement = Arrangement.Bottom,
)

关于android - LazyColumn 中的 TextField IME 填充,撰写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67138999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com