【HarmonyOS】骨架屏(数据请求回来之前使用组件生成骨架屏,数据回来以后【骨架屏】消失)不会让页面白屏显示空

news2024/9/22 5:25:21

#骨架屏作用用途

骨架屏用途就是防止用户焦虑(为了迷惑用户)

#效果图

#思路:

#步骤:

1.首先是封装一个骨架 (所使用的思路就是利用 linearGradient + translate + animation + onAppear 实现骨架的闪光效果)

2.在其他页面进行调用(数据请求回来之前使用:思路就是Foreach+封装生成的骨架屏,数据回来以后骨架屏消失)

#单个骨架组件封装(代码如下)

封装最好的目的是为了在任何页面都可以调用!

##IvSkeleton.ets
@Entry
@Component
export struct IvSkeleton {
  @State translageX: string = '-100%' // 定义闪电效果的位置
  widthValue: number = 100
  heightValue: number = 28

  build() {
    Stack() {
      // 背景效果
      Text()
        .width(this.widthValue)
        .height(this.heightValue)
        .backgroundColor('rgba(0,0,0,0.5)')

      // 闪电效果
      Text()
        .width(this.widthValue)
        .height(this.heightValue)
        .translate({ x: this.translageX })  // 控制闪电位置
        .onAppear(() => {
          // 当组件加载后,触发此函数,将translate的x轴位置改变到100%
          this.translageX = '100%'
        })
        .animation({
          duration: 1500, // 1.5秒内完成闪电动画
          iterations: -1  // 无限闪动动画
        })
        .linearGradient({ // 闪电效果
          angle: 90,
          colors: [
            ['rgba(255,255,255,0)', 0],
            ['rgba(255,255,255,1)', 0.5],
            ['rgba(255,255,255,0)', 1]
          ]
        })

    }
  }
}
##在其
他页面调用:

##HomeCategoryComp.ets
import { IvSkeleton } from '../../components/IvSkeleton'
@Component
export struct HomeCategoryComp {
build() {
  if(this.questionTypeList.length==0){
    ForEach(Array.from({length:10}),()=>{
      Row({space:10}){
        IvSkeleton({widthValue:50,heightValue:50})
        IvSkeleton({widthValue:200,heightValue:50})
      }
      .padding({top:10})
    })
  }else{
//返回的数据
        }
       }
  }
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机网络】电路交换、报文交换和分组交换——三种交换方式性能分析

【计算机网络】电路交换、报文交换和分组交换——三种交换方式性能分析 目录 【计算机网络】电路交换、报文交换和分组交换——三种交换方式性能分析电路交换性能分析报文交换性能分析分组交换性能分析对比 电路交换性能分析 4Kb 需要8毫秒 数据传送需要11ms 报文交换性能分…

数组与贪心算法——452、435、646、406、169(1简4中)

452. 用最少数量的箭引爆气球(中等) 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points ,其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可…

Python自带日志库实现springboot彩色效果

整体目标 涉及的库均为Python3自带库实现 loggingsysenum 终端显示彩色基本原理参考👉Terminal里的颜色的那些事 Python打印日志可以直接借用logging自带的库实现,但是默认的打印实在太丑了,长下面这样 这只是一条日志看着还好比较清爽&…

VUE+Tailwind网页开发

从nodejs官网下载安装包并安装&#xff1a;https://nodejs.org/zh-cn 参考vue官网步骤配置项目&#xff1a;https://cn.vuejs.org/guide/quick-start.html $ npm create vuelatest $ cd <your-project-name> $ npm install 参考&#xff0c;安装vue-router:安装 | Vue…

【CanMV K230】矩形检测

【CanMV K230】矩形检测 什么是 矩形检测矩形检测应用领域1.目标检测2.自动驾驶3.医学图像处理4.智能零售5.图像识别6.计算机视觉 K230应用相关函数官方例程 本篇内容&#xff1a; 什么是 矩形检测矩形检测应用领域K230应用&#xff08;包含相应函数及例程&#xff09; B站视频…

【有啥问啥】HashHop在LTM-2-mini中的应用:解锁长期记忆模型的新纪元

HashHop在LTM-2-mini中的应用&#xff1a;解锁长期记忆模型的新纪元 引言 随着AI技术的飞速发展&#xff0c;模型在处理复杂任务和数据时所需的上下文窗口大小也在不断扩展。深度学习模型在处理超长上下文时&#xff0c;往往面临着计算资源消耗高、上下文丢失等问题。近期&am…

通信工程学习:什么是IFMP(Ipsilon流管理协议)

IFMP&#xff1a;Ipsilon流管理协议 IFMP&#xff08;Ipsilon Flow Management Protocol&#xff09;&#xff0c;即Ipsilon流量管理协议&#xff0c;是一种用于网络流量管理的协议。它主要用于IP交换机、IP交换网关或IP主机中&#xff0c;通过控制数据传送&#xff0c;将现有网…

【H2O2|全栈】更多关于HTML(1)HTML进阶(一)

目录 HTML进阶知识 前言 准备工作 标签的扩展&#xff08;一&#xff09; 本文中的标签在什么位置使用&#xff1f; title标签 meta标签 name viewport referrer http-equiv charset content link标签 实际案例 可视部分 代码分析 其他标签 base标签 styl…

《论企业集成平台的技术与应用》写作框架,软考高级系统架构设计师

论文真题 企业集成平台是一个支持复杂信息环境下信息系统开发、集成和协同运行的软件支撑环境。它基于各种企业经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务,并支持企业信…

数论技巧——使用线性筛法去求1~n之间欧拉函数的和

本节是数论中的重要内容&#xff0c;也是算法竞赛中的常考点&#xff0c;初学者理解起来可能有些困难&#xff0c;需要多多体会 给定一个正整数 n&#xff0c;求 1∼n 中每个数的欧拉函数之和。 欧拉函数的定义&#xff1a;1~n中与n互质的数的个数被称为欧拉函数,记作φ(n) 欧…

操作系统 ---- 进程的概念、组成、特征

学习路线&#xff1a; 一、进程的概念及组成 我们通过一个例子来说明进程的概念以及程序和进程的区别。 我们在Windows操作系统中打开任务管理器&#xff0c;在任务管理器当中能看到此时系统当中运行的进程有哪些&#xff0c;如下图所示&#xff1a; 此时&#…

【前端】vue+html+js 实现table表格展示,以及分页按钮添加

一. 问题描述 数据条数太多显示到页面上时可能会渲染较慢&#xff0c;因此需要截取数据进行展示。 二. 代码写法 思路&#xff1a;按照上述图示思路&#xff0c;需要有两个数据列表&#xff0c;一个存储的是所有的列表数据&#xff0c;一个存储的是展示的数据列表&#xff0c…

蒙特卡罗——三门问题python代码实现

三门问题 b站李永乐老师讲解三门问题 python蒙特卡罗模拟 #模拟三门问题 import random as rd #n:模拟次数,m:中奖次数 n100000 m0 for i in range(n):#车位于的门号carrd.randint(0,2)#人随机选择一个门doorrd.randint(0,2)#主持人展示空门empties{0,1,2}-{car,door}emptyrd…

jmeter基准测试详解

配置基准测试策略&#xff1a;单线程连续发送请求5分钟 脚本&#xff1a;基准测试.jmx 提取码: 0000 登录接口换成自己需要的登录接口即可 一、基准测试脚本配置 线程组下添加图表插件&#xff1a;TPS、响应时间、服务器资源 linux服务器在serveragent目录下启动serveragen…

Golang | Leetcode Golang题解之第395题至少有K个重复字符的最长子串

题目&#xff1a; 题解&#xff1a; func longestSubstring(s string, k int) (ans int) {for t : 1; t < 26; t {cnt : [26]int{}total : 0lessK : 0l : 0for r, ch : range s {ch - aif cnt[ch] 0 {totallessK}cnt[ch]if cnt[ch] k {lessK--}for total > t {ch : s[…

智能翻译新时代:深入解析AI驱动的翻译软件优势

现在语言已经不再是我们学习交流的难点了&#xff0c;因为我们的身边涌现了一批类似百度在线翻译这样的翻译工具为我们与不了的语言直接搭建其一个桥梁。这次我们就来一起探讨有什么好用的翻译工具吧。 1.福昕在线翻译 链接直达&#xff1a;https://fanyi.pdf365.cn/doc 对…

[Redis] Redis中的String类型

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

comfyui中的几种inpainting工作流对比

inpainting方法集合_sdxl inpaint教程-CSDN博客文章浏览阅读150次。1.32G,通过它可以将所有的sdxl模型转成sdxl_inpaint模型,源于fooocus_inpaint_head,将9个通道压缩为4个通道的小型卷积网络,标准模型unet有4个通道,重绘模型有9个通道,inpaint_model_head和inpaint mode…

Jupyter Notebook 修改默认路径

Jupyter Notebook 修改默认路径 1、默认路径 安装anaconda后&#xff0c;jupyter notebook默认路径下很多文件&#xff0c;很乱&#xff0c;所以为了创建一个干净的文件夹专门存放我的python项目&#xff0c;修改jupyter notebook的文件路径 这是我现在打开jupyter notebook…

常见概念 -- 光回波损耗

什么是回波损耗 回波损耗&#xff0c;又称为反射损耗&#xff0c;当高速信号进入或退出光纤的某个部分&#xff08;例如光纤连接器&#xff09;&#xff0c;不连续和阻抗不匹配会引起反射&#xff0c;这就是光纤回波损耗。器件的回波损耗Return Loss(RL)是光信号的输入端口的反…