在Android视图系统中,当光标(ScrollView中EditText视图的光标)超出可见区域时,Android会自动向下滚动屏幕以使光标始终可见。
有没有办法在 android Jetpack Compose 中实现这一点?
LazyColumn 中的 BasicTextField 似乎基本上不支持这种行为。
+)
这是一个可以重新生成此问题的可组合代码示例。
@Composable
fun TestScreen() {
val scaffoldState = rememberScaffoldState()
var content by remember { mutableStateOf("") }
Scaffold(
scaffoldState = scaffoldState,
floatingActionButtonPosition = FabPosition.Center,
) {
val lazyListState = rememberLazyListState()
LazyColumn(
state = lazyListState,
modifier = Modifier
.fillMaxSize()
.padding(horizontal = 15.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
item {
BasicTextField(
value = content,
onValueChange = { content = it },
modifier = Modifier
.background(color = Color.Green)
.fillMaxWidth()
.wrapContentHeight()
)
}
} …Run Code Online (Sandbox Code Playgroud) 下图解释了我想要实现的规范
如果用户将上一个(或下一个)项目拖动到某个项目,我想让 Lazy Row 滚动项目X_SCROLL_THRESHOLD。
我考虑尝试Pager在 Jetpack 撰写示例应用程序Jet Caster,但我想显示相当多的项目(1788 个项目),所以,我不确定Pager方法比使用LazyRow.
有没有办法在 android Jetpack Compose 中自定义 LazyRow 拖动或滚动行为?