AndroidComposeLazyColumnLazyRow滚动列表控件
(Recycle。。。
@Composable
fun RecyclerViewDemo(){
val lists = listOf("a","b","c","d","e","f","g","h","i")
Column(modifier = Modifier
.fillMaxSize()
.statusBarsPadding()) {
Column(modifier = Modifier
.statusBarsPadding()
.fillMaxWidth()
.
height(300.dp)) {
android最新版LazyColumn(
//修饰符
modifier = Modifier.fillMaxSize(),
//围绕整个内容的填充,如果要在每个项⽬之间添加间距,请使⽤ verticalArrangement
contentPadding = PaddingValues(14.dp,0.dp,14.dp,80.dp),
//⽤于控制或观察列表状态的状态对象,默认就好
state= rememberLazyListState(),
//反转滚动和布局的⽅向,true是从下往上,false是从上往下
reverseLayout=false,
//⼦项的垂直排列,可以⽤来添加间距(spacedBy)
/
/也可以指定项⽬的排列(Arrangement.Top/Arrangement.Bottom),⽤reverseLayout控制也⾏
verticalArrangement = Arrangement.spacedBy(4.dp),
//⽔平对齐⽅式
horizontalAlignment = Alignment.CenterHorizontally,
//描述抛物⾏为的逻辑,默认就好
flingBehavior = ScrollableDefaults.flingBehavior(),
){
// 添加⼀个item
item {
Text(text = "第⼀个⼦项")
}
/
/添加多个item
items(50) { index ->
Text(text = "多个⼦项: $index")
}
//list添加item
items(lists) { item ->
Text(text = "list⼦项: $item")
}
//带index的items
itemsIndexed(lists){index, item ->
Text(text = "第 $index 个list⼦项: $item")
}
}
}
Spacer(modifier = Modifier
.height(20.dp)
.fillMaxWidth())
Column(modifier = Modifier
.statusBarsPadding()
.fillMaxWidth()
.height(300.dp)) {
LazyRow(
/
/修饰符
modifier = Modifier.fillMaxSize(),
//围绕整个内容的填充,如果要在每个项⽬之间添加间距,请使⽤ verticalArrangement
contentPadding = PaddingValues(14.dp,0.dp,14.dp,80.dp),
//⽤于控制或观察列表状态的状态对象,默认就好
//⽤于控制或观察列表状态的状态对象,默认就好
state= rememberLazyListState(),
//反转滚动和布局的⽅向,true是从下往上,false是从上往下
reverseLayout=false,
//⼦项的垂直排列,可以⽤来添加间距(spacedBy)
//也可以指定项⽬的排列(Arrangement.Top/Arrangement.Bottom),⽤reverseLayout控制也⾏                horizontalArrangement = Arrangement.spacedBy(5.dp),
//垂直对齐⽅式
verticalAlignment = Alignment.CenterVertically,
//描述抛物⾏为的逻辑,默认就好
flingBehavior = ScrollableDefaults.flingBehavior(),
){
// 添加⼀个item
item {
Text(text = "第⼀个⼦项")
}
//添加多个item
items(20) { index ->
Text(text = "多个⼦项: $index")
}
//list添加item
items(lists) { item ->
Text(text = "list⼦项: $item")
}
//带index的items
itemsIndexed(lists){index, item ->
Text(text = "第 $index 个list⼦项: $item")
}
}
}
}
}
LazyColumn 和 LazyRow等同于RecyclerView,compose中不⽤adapter这个东西

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。