LoadingProgress组件的使用##HarmonyOS应用开发##

上海张律师
• 阅读 1

​ 在应用开发的过程中,经常有需要表示“加载中”或者“请等待”的这么一个状态提示,我原来的做法是会通过找一张gif图片来表示这一状态,但是如果使用gif图片的话,会有以下几个问题

  1. 在不同页面中,需要显示不同的颜色来适配页面的整体配色风格,但是gif动图是不可能说动态的去设置颜色的,这使得在一些页面中显得与整体设计风格不相符合,如果说每个页面都单独去准备一个gif动图的话,工作量又太大,不合适

  2. 同样的原因,就不方便

  3. 多一张动图总归会对安装包的整体大小有影响

  4. 当项目中有下拉刷新功能时,会看到下拉刷新也有一个“刷新中”的动图,那么一个项目里,最好就是所有的动图都统一

在学习文档的时候,我找到了“LoadingProgress”组件,完美的符合我的要求

首先,LoadingProgress可以通过color属性来设置颜色,官方的说法叫“设置加载进度条前景色”,那么也就是说可以根据当前页面的配色方案进行设置,当然,也就可以适配深色模式了

其次,这是一个组件,那么不存在占空间的问题

最后,这就是下拉刷新中的那个动画图片……一摸一样

解决了我所有的需求

使用起来也很简单,就是当一个正常的组件去写就可以。当然,作为一个要表示“加载中”的组件,他肯定是需要有显示和隐藏的

对于这个问题,官方对这个组件有一个单独的属性叫“enableLoading”,默认为true,false的话就是不显示,但当其不显示的时候(即为false),这个组件依然占位,这我觉得其实是和LoadingProgress的实际用途背景相悖的,它就应该在页面数据获取或者某件要等待的事请完成后消失,所以建议使用IF来进行控制

代码如下:

  if(this.list.length > 0){
        Column() {
          LoadingProgress()
            .width(50)
            .height(50)
            .color('#E2873F')

          Text('加载中...')
            .fontSize(16)
            .fontColor('#999999')
            .margin({ top: 16 })
        }
        .width('100%')
        .layoutWeight(1)
        .justifyContent(FlexAlign.Center)
      }

效果图如下: LoadingProgress组件的使用##HarmonyOS应用开发##

点赞
收藏
评论区
推荐文章
浩浩 浩浩
4年前
【Flutter实战】图片和Icon
3.5图片及ICON3.5.1图片Flutter中,我们可以通过Image组件来加载并显示图片,Image的数据源可以是asset、文件、内存以及网络。ImageProviderImageProvider是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的ImageProvi
Wesley13 Wesley13
3年前
Java基于animated
  工作中,gif动图转图片/图片集转gif  pom依赖很简单<!gif<dependency<groupIdcom.madgag</groupId<artifactIdanimatedgiflib</artifactI
Stella981 Stella981
3年前
GifView
GifView是一个为了解决android中现在没有直接显示gif的view,只能通过mediaplay来显示这个问题的项目,其用法和ImageView一样,支持gif图片使用方法:1把GifView.jar加入你的项目。2在xml中配置GifView的基本属性,GifView继承自View类,和Button、ImageView一样是一个
Stella981 Stella981
3年前
Kubernetes 学习24 helm入门
一、概述  1、我们此前在使用kubernetes中,无论我们使用无状态的应用程序,比如myapp,nginx。以及有状态的tomcat,redis,etcd,...等等,他们部署在k8s之上会有这样的问题。首先对无状态应用我们首先使用deployment控制器来实现控制以后其规模伸缩极其容易。这也是k8s带给我们的最重要的需要。但是如果是有状态的应用,
Stella981 Stella981
3年前
Bash 的4种运行模式
1.在日常使用bash的过程中,老是会遇见通过ssh连接到服务器产生环境变量不可用。命令不存在,是不是让人有点懊恼。2.还有就是在登录Armbian的时候会有串数据提示,但是在切换用户后并没有这种提示。是如何做到的呢?上面的问题都是由bash的运行模式的不同带来的现象。4种模是由2种状态的交叉组合而成。interactive和noninte
Stella981 Stella981
3年前
DevOps世界中的软件开发
!(https://oscimg.oschina.net/oscnet/f40e68cbfe8148deb00f040b4e917a0a.jpg)在整个软件开发过程中,开发人员通常需要花费大量时间来修复错误和漏洞,以便一切按计划进行交付。但是,通过DevOps实践,可以更轻松地管理和保护这些问题。这是由于以下事实:使用DevOps实践的软
Stella981 Stella981
3年前
Cocos Creator基础教程(12)—精灵变身
在CocosCreator中使用率最高的非精灵(Sprite)莫属了,在游戏中我们经常会遇到将一张图片替换成另一张图片的情况,或者是在不同状态时来回切换图片。实现这个功能对程序员同学来说并不难,但是!回头检视一下编写的代码,能否让美术、策划同学使用上吗?如果不能的话,相信这篇教程可能对你和你的伙伴有更多启发!1\.SpriteIndex组件
陈杨 陈杨
1个月前
鸿蒙5开发宝藏案例分享---一多开发实例(图片美化)
🌟【鸿蒙开发宝藏案例分享】一次搞定多端适配的图片美化应用开发思路!🌟Hey小伙伴们今天在翻鸿蒙文档时挖到一个超实用的大宝藏!原来官方早就悄悄提供了超多"一多开发"的实战案例,特别是这个图片美化应用的完整实现方案,必须立刻分享给大家!(搓手手.gif)🀀
上海张律师 上海张律师
6小时前
如何实现组件截图 -- componentSnapshot
​HarmonyOS应用开发在我开发手里项目的过程中,遇到这么一个功能需求:即用户在完成一系列的学习并通过考试以后,要生成一张证书,这张证书的结构是:一个背景图,上面还有文字、其他图片等,文字和图片都是根据用户信息动态生成的,整个证书在显示的时候是通过St
上海张律师 上海张律师
6小时前
如何监听组件再次显示的事件?
​HarmonyOS应用开发我们知道,对于组件的生命周期,有aboutToAppear和aboutToDisAppear,即监听这个组件被挂载和卸载的事件,和被@Entry修饰的页面不同,组件是没有每次显示都能触发的onPageShow这个生命周期的,但是