鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Refresh)

可以进行页面下拉操作并显示刷新动效的容器组件。

说明:

该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

子组件

支持单个子组件。

从API version 11开始,Refresh子组件会跟随手势下拉而下移。

接口

Refresh(value: RefreshOptions)

参数:

参数名参数类型必填参数描述
valueRefreshOptions刷新组件参数。

RefreshOptions对象说明

参数参数名必填参数描述
refreshingboolean当前组件是否正在刷新。
该参数支持$$双向绑定变量。
offset(deprecated)string | number下拉起点距离组件顶部的距离。
默认值:16,单位vp
从API version 11开始废弃,无替代接口
说明:
offset取值范围[0vp,64vp]。大于64vp按照64vp处理。不支持百分比,不支持负数 。
friction(deprecated)number | string下拉摩擦系数,取值范围为0到100。
默认值:62
- 0表示下拉刷新容器不跟随手势下拉而下拉。
- 100表示下拉刷新容器紧紧跟随手势下拉而下拉。
- 数值越大,下拉刷新容器跟随手势下拉的反应越灵敏。
从API version 11开始废弃,无替代接口
builderCustomBuilder10+下拉时,自定义刷新样式的组件。
说明:
API version 10及之前版本,自定义组件的高度限制在64vp之内。API version 11及以后版本没有此限制。

属性

支持通用属性。

事件

除支持通用事件外,还支持以下事件:

名称描述
onStateChange(callback: (state: RefreshStatus) => void)当前刷新状态变更时,触发回调。
- state:刷新状态。
onRefreshing(callback: () => void)进入刷新状态时触发回调。

RefreshStatus枚举说明

名称描述
Inactive默认未下拉状态。
Drag下拉中,下拉距离小于刷新距离。
OverDrag下拉中,下拉距离超过刷新距离。
Refresh下拉结束,回弹至刷新距离,进入刷新状态。
Done刷新结束,返回初始状态(顶部)。

示例

示例1

刷新组件使用默认样式:

// xxx.ets
@Entry
@Component
struct RefreshExample {@State isRefreshing: boolean = false@State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']build() {Column() {Refresh({ refreshing: $$this.isRefreshing}) {List() {ForEach(this.arr, (item: string) => {ListItem() {Text('' + item).width('100%').height(100).fontSize(16).textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF)}}, (item: string) => item)}.onScrollIndex((first: number) => {console.info(first.toString())}).width('100%').height('100%').divider({strokeWidth:1,color:Color.Yellow,startMargin:10,endMargin:10}).scrollBar(BarState.Off)}.onStateChange((refreshStatus: RefreshStatus) => {console.info('Refresh onStatueChange state is ' + refreshStatus)}).onRefreshing(() => {setTimeout(() => {this.isRefreshing = false}, 2000)console.log('onRefreshing test')}).backgroundColor(0x89CFF0)}}
}

zh-cn_image_refresh_example1

示例2

自定义刷新组件:

// xxx.ets
@Entry
@Component
struct RefreshExample {@State isRefreshing: boolean = false@State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']@BuildercustomRefreshComponent(){Stack(){Row(){LoadingProgress().height(32)Text("正在刷新...").fontSize(16).margin({left:20})}.alignItems(VerticalAlign.Center)}.width("100%").align(Alignment.Center)}build() {Column() {Refresh({ refreshing: $$this.isRefreshing,builder:this.customRefreshComponent()}) {List() {ForEach(this.arr, (item: string) => {ListItem() {Text('' + item).width('100%').height(100).fontSize(16).textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF)}}, (item: string) => item)}.onScrollIndex((first: number) => {console.info(first.toString())}).width('100%').height('100%').divider({strokeWidth:1,color:Color.Yellow,startMargin:10,endMargin:10}).scrollBar(BarState.Off)}.onStateChange((refreshStatus: RefreshStatus) => {console.info('Refresh onStatueChange state is ' + refreshStatus)}).onRefreshing(() => {setTimeout(() => {this.isRefreshing = false}, 2000)console.log('onRefreshing test')}).backgroundColor(0x89CFF0)}}
}

zh-cn_image_refresh_example2

最后,有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(Harmony NEXT)资料用来跟着学习是非常有必要的。 

这份鸿蒙(Harmony NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

腾讯T10级高工技术,安卓全套VIP课程

鸿蒙(Harmony NEXT)最新学习路线

  •  HarmonOS基础技能

  • HarmonOS就业必备技能 
  •  HarmonOS多媒体技术

  • 鸿蒙NaPi组件进阶

  • HarmonOS高级技能

  • 初识HarmonOS内核 
  • 实战就业级设备开发

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

《鸿蒙 (OpenHarmony)开发入门教学视频》

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

图片

 《鸿蒙开发基础》

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

图片

 《鸿蒙开发进阶》

  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来设计
  • 鸿蒙系统移植和裁剪定制
  • ……

图片

《鸿蒙进阶实战》

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

图片

 获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料

总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/541185.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Autosar教程-Mcal教程-Lin配置教程

3.7LIN配置、生成 3.7.1 配置通用设置 3.7.2 配置Dem参数 3.7.3 配置Lin通道 3.7.4配置生成命令 参照Dio生成命令方法,创建Lin生成命令,创建完成后按下面提供的信息配置生成命令。 实际上MCAL代码并不能单独生成,它需要和BSW的配置文件一…

企业如何高效管理微信里的客户?

对于企业来说,懂得高效管理微信列表的客户是非常重要的一件事,只有把客户管理好了,才能更好地提高客户的满意度和忠诚度,我们的销售业务才能顺利进行。 那么,应该怎样管理才能算是高效管理呢?下面就给大家…

DLL修复,快速补救带来了文件丢失问题,完美解救计算困境!

动态链接库(DLL)文件在Windows操作系统中扮演着重要角色,它们允许多个程序共享同一个功能或信息,从而节省系统资源并简化编码。但是,当DLL文件发生错误时,它可能导致软件崩溃或无法正常工作。在本文中&…

【MySQL】4. 表的操作

表的操作 1. 创建表 语法: CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎;说明: field 表示列名 datatype 表示列的类型 character set 字符集&#xff0c…

一文轻松学会远程服务器/docker内 vscode,调试(debug)无/多参数/bash以及多工作空间运行的python程序,欢迎大佬补充,一起学习

至于如何SSH、docker以及无需参数的程序调试这篇就先不说了。本篇文章主要记录一下多参数和多工作空间调试的问题。 一、launch.json文件 如上图所示,正常情况下当我们想要调试项目名字为0的目录下的train.py文件时,我们会按顺序点1,2&#…

labview技术交流-判断两个数组的元素是否完全相同

问题来源 分析并判断两个一维数组中包含的元素是否完全相同,不考虑索引顺序。比如说[1,5,7,3]和[3,5,7,1]是完全相同的两个一维数组,那[1,5,7,3]和[5,7,1,4]就不是相同的数组。结合我给出的示例,大家有没有什么思路呢? 思路分析 …

探秘Kafka位移在消息旅程中的神奇

欢迎来到我的博客,代码的世界里,每一行都是一个故事 探秘Kafka位移在消息旅程中的神奇 前言什么是消费者位移消费者位移的定义和作用:消费者位移对于消息传递的一致性至关重要的原因: 位移的存储方式位移信息的存储方式&#xff1…

面试相关问题准备

一.MySql篇 1优化相关问题 1.1MySql中如何定位慢查询? 慢查询的概念:在MySQL中,慢查询是指执行时间超过一定阈值的SQL语句。这个阈值是由long_query_time参数设定的,它的默认值是10秒1。也就是说,如果一条SQL语句的执…

智能测径仪和普通测径仪的对比

关键字:智能测径仪,普通测径仪,高精度测径仪,单轴测径仪,双轴测径仪,普通测径仪, 智能测径仪和普通测径仪相比,具有以下显著的优势: 高精度测量:智能测径仪采…

学会这些指令,轻松上手Linux!

一、 Linux简介 Linux是一种开源的类Unix操作系统。它的核心是Linux内核,而用户空间则由GNU项目提供的工具和其他软件组成,因此常常被称为GNU/Linux。 Linux操作系统的特点包括稳定性、安全性、多用户支持和多任务处理能力,因此被广泛应用于…

node:internal/crypto/hash:69 this[kHandle] = new _Hash(algorithm, xofLen);

npm 打包报错 原因就是npm版本太高了,用的18版本,切换成16版本就好了。

每日五道java面试题之springMVC篇(四)

目录: 第一题. Spring MVC怎么样设定重定向和转发的?第二题.Spring MVC怎么和AJAX相互调用的?第三题. 如何解决POST请求中文乱码问题,GET的又如何处理呢?第四题. Spring MVC的异常处理?第五题. 如果在拦截请…