4.3「HarmonyOS鸿蒙开发」组件ListContainer(上)
作者:韩茹
公司:程序咖(北京)科技有限公司
鸿蒙巴士专栏作家
ListContainer是用来呈现连续、多行数据的组件,包含一系列相同类型的列表项。
MVC的设计模式br m:model:数据模型br data:数组,集合,。。。br V:view:视图br ListContainerbr c:control:控制器br Provider一、支持的XML属性
ListContainer的共有XML属性继承自:Component
ListContainer的自有XML属性见下表:
属性名称
中文描述
取值
取值说明
使用案例
rebound_effect
开启/关闭回弹效果
boolean类型
可以直接设置true/false,也可以引用boolean资源。
ohos:rebound_effect="true"ohos:rebound_effect="$boolean:true"
shader_color
着色器颜色
color类型
可以直接设置色值,也可以引用color资源。
ohos:shader_color="#A8FFFFFF"ohos:shader_color="$color:black"
orientation
列表项排列方向
horizontal
表示水平方向列表。
ohos:orientation="horizontal"
vertical
表示垂直方向列表。
ohos:orientation="vertical"
二、ListContainer的使用方法
我们先来说一下思路步骤:
使用ListContainerbr step1:先xml布局:控件ListContainerbr step2:对应的AbilitySlice中找到控件br step3:设置数据源br List,Array,Map等br step4:创建Providerbr 自定义类,继承BaseItemProvider,重写4个必要的方法。br step5:设置Provider,适配数据br step6:添加监听br OnItemClickListener
1、在xml布局文件中:
br
2、设置ListContainer的开始和结束偏移量。
listContainer.setContentOffSet(200,100);
java中的代码:
// 初始化ListContainer private void initListContainer(){ // 1.获取xml布局中的ListContainer组件 ListContainer listContainer = (ListContainer) findComponentById(ResourceTable.Id_list_container1); // 设置起始和结束位置的偏移量 listContainer.setContentOffSet(200,100); // 2.实例化数据源 ... }
设置列表容器的开始偏移量为100,结束偏移量为100,示例效果:
3、设置回弹效果。
在xml中设置:
在Java代码中设置:
listContainer.setReboundEffect(true);
回弹效果:
2、在layout目录下,新建一个布局文件:list_container_layout.xml
在这里我们放置了一个ListContainer,然后我们继续创建xml布局文件,用来表示每个item的布局,list_item_demo2.xml
2、然后我们在provider包下新建一个Provider:ListItemProvider.java文件:
package com.example.hanrulistcontainer.provider;import com.example.hanrulistcontainer.ResourceTable;import ohos.aafwk.ability.AbilitySlice;import ohos.agp.components.*;import java.util.List;import java.util.Map;public class ListItemProvider extends BaseItemProvider{ private List