跳到正文

HyperList

  • 包名:hyper_ui
  • 源码:library/src/main/java/hyper_ui/components/list/HyperList.kt
  • 状态归属:调用方提供列表数据
  • Preview ID:hyper_list

基于 ColumnverticalScroll 的非懒加载列表,一次组合全部项目,适合数量较少的静态数据。

公开签名

kotlin
@Composable
fun <T> HyperList(
    items: List<T>,
    modifier: Modifier = Modifier,
    contentPadding: PaddingValues = PaddingValues(0.dp),
    verticalArrangement: Arrangement.Vertical = Arrangement.spacedBy(0.dp),
    itemContent: @Composable (item: T) -> Unit
)

参数

参数类型默认值说明
itemsList<T>必填一次性渲染的数据
modifierModifierModifierColumn 修饰符
contentPaddingPaddingValuesPaddingValues(0.dp)滚动内容内边距
verticalArrangementArrangement.Vertical间距 0.dp条目纵向排列
itemContent@Composable (T) -> Unit必填每项内容

最小用法

kotlin
@Composable
fun StaticOptions(options: List<String>) {
    HyperList(items = options) { option ->
        HyperListItem(
            title = option,
            onClick = { /* 由调用方处理 */ }
        )
    }
}

约束

  • 组件内部自带纵向滚动;放入另一个同方向无界滚动容器前,应明确尺寸约束。
  • 项目较多时改用 HyperLazyList,避免一次组合所有内容。
  • HyperLazyList 一样,首尾圆角和卡片背景由列表处理。

交互预览

HyperList 交互预览 在新窗口打开