介绍
本示例介绍在List组件内实现子组件超出容器边缘的布局样式的实现方法。
List组件clip属性默认为true,超出容器边缘的子组件会按照List的布局范围被裁剪。为此,可以在List组件内部添加一个占位的ListItem,以达到预期的布局效果。List占满整个窗口或者不可滚动的情况下,也可以在List外占位,同时设置List的clip属性为false达成同样的效果。
该布局效果多用于头像、列表子项标题等元素的突出显示。
效果图预览
使用说明:
- 上下滑动屏幕,可以查看整个列表。
实现步骤
- 通过设置负的margin值,移动组件位置,使其超出父组件范围。
Image($r("app.media.io_user_portrait"))
.width(80)
.height(80)
.margin({ top: -50, left: 15 })
- 在List内部使用ListItem占位,包住超出的区域。
List() {
ListItem().height(40).selectable(false) // 占位组件
ListItem() { // 需要超出范围的组件
Image($r("app.media.io_user_portrait"))
.width(80)
.height(80)
.margin({ top: -50, left: 15 })
}
...
}
实现步骤(另一种方式)
- 通过设置负的margin值,移动组件位置,使其超出父组件范围。
Image($r("app.media.io_user_portrait"))
.width(80)
.height(80)
.margin({ top: -50, left: 15 })
- 在List组件外部使用Row占位,同时设置List.clip(false),允许滚动时上下溢出List组件的区域。
Row().height(60) // 占位组件
List() {
ListItem() { // 需要超出范围的组件
Image($r("app.media.io_user_portrait"))
.width(80)
.height(80)
.margin({ top: -50, left: 15 })
}
...
}.clip(false)
高性能知识点
不涉及
工程结构&模块类型
listitemoverflow // har类型
|---AboutMe.ets // 页面布局实现页面
模块依赖
参考资料
最后
小编也准备了一份联合鸿蒙官方发布笔记整理收纳的《鸿蒙开发学习笔记》,内容包含ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。
【有需要的朋友,可以扫描下方二维码免费领取!!!】
《鸿蒙(HarmonyOS)开发学习指南》
第一章 快速入门
1、开发准备
2、构建第一个ArkTS应用(Stage模型)
3、构建第一个ArkTS应用(FA模型)
4、构建第一个JS应用(FA模型)
5、…
第二章 开发基础知识
1、应用程序包基础知识
2、应用配置文件(Stage模型)
3、应用配置文件概述(FA模型)
4、…
第三章 资源分类与访问
1、 资源分类与访问
2、 创建资源目录和资源文件
3、 资源访问
4、…
第四章 学习ArkTs语言
1、初识ArkTS语言
2、基本语法
3、状态管理
4、其他状态管理
5、渲染控制
6、…
第五章 UI开发
1.方舟开发框架(ArkUI)概述
2.基于ArkTS声明式开发范式
3.兼容JS的类Web开发范式
4…
第六章 Web开发
1.Web组件概述
2.使用Web组件加载页面
3.设置基本属性和事件
4.在应用中使用前端页面JavaScript
5.ArkTS语言基础类库概述
6.并发
7…
11.网络与连接
12.电话服务
13.数据管理
14.文件管理
15.后台任务管理
16.设备管理
17…
第七章 应用模型
1.应用模型概述
2.Stage模型开发指导
3.FA模型开发指导
4…
扫描下方二维码免费领取,《鸿蒙(HarmonyOS)开发学习指南》