【HarmonyOS NEXT星河版开发学习】综合测试案例-拼夕夕首页

news2024/11/26 20:29:01

个人主页→VON

收录专栏→鸿蒙开发小型案例总结​​​​​

基础语法部分会发布于github 和 gitee上面(暂未发布)

 

前言

该实战案例并没有用到太多的知识点,只不过用到的一些新东西,要多花时间去熟悉手机app的一些页面,对开发很有帮助。

构建思路

主体部分由五张图片所构成

滑动一定距离后 

 

界面讲解

布局

Scroll的应用 

 

返回顶部

 

知识点概述

Scroll组件是鸿蒙应用开发中的一个重要元素,用于在布局尺寸超过父组件尺寸时提供滚动功能。Scroll组件作为鸿蒙OS开发中的一个重要组成部分,主要负责处理内容显示中的滚动需求。当一个容器的内容或者子组件超出了容器的可视范围时,Scroll组件就发挥其作用,使得内容能够通过滚动的方式被用户访问到。

从Scroll组件的功能性来看。Scroll组件的设计初衷是为了解决内容展示空间有限的问题。当内容的布局尺寸超过其父组件尺寸时,Scroll组件便提供了滚动的能力,使得用户可以在有限的窗口中浏览更多的信息。这种机制广泛应用于移动应用中的长列表、横向图集等场景。

Scroll组件支持的滚动方向和自定义属性也是开发者需要关注的点。根据文档,Scroll组件可以通过scrollable属性设置滚动方向,包括水平滚动(Horizontal)、竖直滚动(Vertical)以及不可滚动(None)。除了滚动方向,Scroll组件还提供了诸如scrollBarscrollBarColorscrollBarWidth等属性,允许开发者对滚动条的显示状态、颜色及宽度进行个性化定制。

Scroll组件与滚动控制器Scroller的结合使用,为开发者提供了更为灵活的滚动控制能力。通过Scroller,开发者可以实现将滚动容器定位到特定位置、滚动到边界等操作。例如,scrollTo方法允许开发者设置滚动容器快速定位到指定的位置,而scrollPage方法则能够实现按页滚动的功能。这些方法和属性的结合使用,大大增强了滚动组件的功能性和交互性。

Scroll组件的高级应用也体现了鸿蒙开发框架的强大之处。例如,通过设置scrollSnap属性,可以实现限位滚动,即在滚动过程中,内容会根据设定的点对齐,适用于轮播图或者分页内容的场景。此外,嵌套滚动选项nestedScroll能够让Scroll组件与其他滚动组件(如List)结合,实现更为复杂的滚动联动效果。

Scroll组件不仅为鸿蒙应用的内容展示提供了基础的滚动功能,同时通过丰富的属性和方法,为开发者提供了高度定制化和动态控制的能力。在应用开发过程中,合理利用Scroll组件及其相关特性,将有助于实现更流畅的用户交互体验和更高效的信息展示。因此,深入理解和灵活运用Scroll组件,对于追求卓越用户体验的鸿蒙应用开发者来说,是一项不可或缺的技能。

代码展示 

@Entry
@Component
struct Index {
  // 1.创建Scroll实例对象
  myScroll:Scroller=new Scroller()

  num:number[]=[2,3,4,5]
  // 实时保存y轴滚动的距离
  @State yoffset:number=0
  build() {
    Column(){
      // 层叠布局
      Stack({alignContent:Alignment.BottomEnd}){
        // 滚动区域
        // 2.和Scroller容器绑定
        Scroll(this.myScroll){
          Column(){
            ForEach(this.num,(item:number)=>{
              Image($r(`app.media.pdd_img0${item}`))
                .width('100%')
            })
          }
        }
        .onScroll(()=>{
          this.yoffset=this.myScroll.currentOffset().yOffset
        })
        if(this.yoffset>200){
          // 返回顶部
          Column(){
            Image($r('app.media.ic_top'))
              .width(50)
            Text('返回顶部')
              .fontSize(12)
          }
          .backgroundColor(Color.White)
          // 3.调用实例方法
          .onClick(()=>{
            this.myScroll.scrollEdge(Edge.Top)
          })
          .position({x:'85%',y:'80%'})
        }
        // 底部区域
        Image($r('app.media.pdd_img01'))
          .width('100%')

      }
    }
  }
}

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

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

相关文章

【Python】Python单元测试基础

文章目录 01-单元测试基础什么是单元测试常用的文件结构运行单元测试 01-单元测试基础 什么是单元测试常用的文件结构编写第一个单元测试运行单元测试 什么是单元测试 单元测试是指一个自动化的测试: 用来验证一小段代码(单元)的正确性&#…

【LLM】医疗大语言模型:CareGPT

向AI转型的程序员都关注公众号 机器学习AI算法工程 CareGPT (关怀GPT)是一个医疗大语言模型,同时它集合了数十个公开可用的医疗微调数据集和开放可用的医疗大语言模型,包含LLM的训练、测评、部署等以促进医疗LLM快速发展。 特性: 添加ChatG…

【Datawhale AI 夏令营】动手学大模型应用开发Task1 Baseline 精读

【Datawhale AI 夏令营】动手学大模型应用开发Task1 Baseline 精读 开源大模型文件预览 Baseline 1.导入库 # 导入所需的库 from transformers import AutoTokenizer, AutoModelForCausalLM import torch import streamlit as st2.模型下载 # 源大模型下载 from modelscope…

将电脑打造成私人网盘,支持外网访问之详细操作教程

你想过把自己电脑打造成随时随地访问的网盘吗?就是那种拥有一个属于自己的影音库,不用担心被和谐,随时可以登录访问电脑上的各种文件,相比传统网盘省心又安全。 使用Everything和节点小宝将电脑搭建成私人网盘,可以实现…

嵌入式面经篇三——数据类型

文章目录 前言一、数据类型1、用变量 a 给出下面的定义2、下面的代码输出是什么,为什么?3、写出 float x 与“零值”比较的 if 语句。4、下面代码有什么错误?5、下面代码输出是什么?6、下面代码运行后会是什么现象?7、…

24年日语能力(JLPT)考试报名流程图解

报名方式 搜索JLPT中国教育考试网,在线报名,一般学生党从教育网入口登录,社会人士从公网入口登录 报名时间 N1-N5 8月20日 7:00 - 8月27日14:00 注册时间 8月13日7:00 - 8月27日14:00 报名步骤 阅读报考提示,注册个人信息→…

此处不允许使用 ‘空‘ 类型

说明:受最近看的书《设计模式之美》(小争哥)的影响,最近编码有意将一些业务逻辑写在对象里面,增强封装性。在此记录一次项目启动时的报错,如下: 原因:当你在实体类对象中&#xff0c…

UniApp开发的开源工厂设备管理维护系统

本文来自:UniApp开发的开源工厂设备管理维护系统 - 源码1688 前端小程序演示地址: 后台测试网址: https://shebeiguanli.azheteng.cn/pyswkAWtig.php/addon?refaddtabs 测试账户: admin 测试密码: admin888 前端…

【Python】python泰坦尼克号生存预测 (源码+数据集+PPT+论文)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

黑神话悟空游戏攻略大全 黑神话悟空内存占用多少 国产3A级游戏《黑神话:悟空》评测代码已发 黑神话悟空测试画质130g MacBook可以玩黑神话悟空吗

《黑神话:悟空》的评测代码已向媒体与测评人员发放,评测解禁日期定在8月16日。目前发放的评测代码仅限于PC版,并未涉及PS5版。《黑神话:悟空》将于8月20日发售,登陆PC(Steam/Epic/WeGame)和PS5。玩家将扮演一位“天命人…

Mybatis原理分析

一、总结 MyBatis的基本工作原理就是:先封装SQL,接着调用JDBC操作数据库,最后把数据库返回的表结果封装成Java类。 1. JDBC有四个核心对象: (1)DriverManager,用于注册数据库连接。 &#xf…

基于单片机的智能楼道灯光控制系统设计

摘要:基于单片机的智能楼道灯光控制系统设计由人体感应模块、光照强度检测模块、灯光控制模块、声音传感器模块、声光报警模块等组成。以单片机为核心,通过检测光照强度和红外人体感应相结合,实现了对楼道内灯光的控制,从而达到节…

vue-cli 中 配置 productionSourceMap 为 false 失效?

背景 最近 发现 vuecli 构建的 项目中配置的 productionSourceMap 为 false 后 ,生产代码 还是能够看到 sourceMap 文件 。 原因 生效前提条件 得设置 NODE_ENV 为 production 才会生效! 解决 直接修改生产环境的配置 NODE_ENV 为 production 直接覆…

二.PhotoKit - 相册权限(彻底读懂权限管理)

引言 用户的照片和视频算是用户最私密的数据之一,由于内置的隐私保护功能,APP只有在用户明确授权的前提下才能访问用户的照片库。从iOS14 开始,PhotoKit进一步增强了用户的隐私控制,用户可以选择指定的照片或者视频资源的访问权限…

阿里淘天landing,是结束也是新的开始(附校/社招内推码)

阿里3个多月landing成功,是结束也是新开始,望我们往后一切顺利~ 因为个人发展规划,今年开始找工作,但负责的业务实在繁忙,所以一边面试一边整理资料,每天都在挤海绵。 今年的就业形势着实不乐观&#xff0c…

NPN传感器与汉姆485总线驱动器限位功能使用

传感器输出的引脚电平是由传感器是常闭还是常开决定的;light on和 dark on决定的是触发信号; PNP-NO常开:在没有信号触发时,输出线是悬空的(即VCC电源线和OUT线断开),输出为低电平或不确定状态…

【推荐】免费一年期的SSL证书现在哪里可以申请到

免费一年期的SSL证书虽然不像以前那样普遍易得,但仍有部分途径可以申请到。以下是一些可能的申请渠道: JoySSL 特点:JoySSL是自主品牌SSL证书,安全性和兼容性都有保障。它提供教育版和政务版域名的一年期免费DV单证书。申请流程&…

java中RSA分段加解密及Data must not be longer than异常处理

谈到RSA非对称加密,作为开发的我们第一想到的是安全,几乎不会被破解,以及公钥加密,私钥解密这些。在Java代码中,我们常使用一些现成的工具类如hutool中提供的工具类、网上在线的或者博客上的RSAUtils工具类来实现公钥私…

解决BkwinProject无法编译运行问题

#ifdef _UNICODE // 如果定义了 _UNICODE,这意味着程序正在使用 Unicode 字符集进行编译。 // Unicode 字符集是现代 Windows 应用程序普遍使用的字符编码方式,支持多语言字符。#if defined _M_IX86 // 如果定义了 _M_IX86,这意味着程序正…