鸿蒙开发加强2

2024-06-02 10:52
文章标签 开发 加强 鸿蒙

本文主要是介绍鸿蒙开发加强2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

快速创建一个符合长度的数组  空数组
Array.from({length: 200})   // 200的长度的空数组
场景:只确定长度,不确定内容的情况

@State 状态装饰器 =》增强功能
数据变化了 可以引起页面的重新渲染
没有@State修饰的变量,不会引起UI的刷新渲染
加不加@state看数据变化是不是需要重新展示
数据变化后需要重新展示页面的,必须加@State来修饰


创建一个控制器,调用一个函数
将控制器和被控制者绑定
控制器控制行为


control Scroller = new Scroller()
Grid(this.control){}
 this.control.scrollPage({ next: true })  // 下一页
  this.control.scrollPage({ next: false }) // 上一页
  
  
滚动条设置
scrollBar(BarState.枚举)
scrollBarWidth()
scrollBarColor()


和Grid共用一个scroller
滚动条定制
1. 要有一个控制器 两个都设置   => 和Grid产生联动
2. ScrollBar 滚动条组件 自己滚自己


默认是竖着滚动
ScrollBar({scroller:this.control,direction:ScrollBarDirection.Horizontal}){
// 里面的结构

}


$r('app.media.图片名') => $r() 是图片资源地址
'app.media.图片名'  => 是string 图片名

ResourceStr 是Resource和string的联合类型

--------------------------------------------------
Scroll,Tabs

Scroll容器组件
子组件的布局尺寸超过scroll的尺寸

Scroll只支持一个组件
设置滚动方向:
竖向滚动   scrollable(ScrollDirection.Vertical)  默认
横向滚动   scrollable(ScrollDirection.Horizontal)

scrollBar            设置滚动条状态
scrollBarColor       设置滚动条颜色
scrollBarWidth         设置滚动条宽
edgeEffect             设置滚动条边缘效果


Scroll的控制器
scroller: Scroller = new Scroller()

this.scroller.scrollEdge(Edge.Top) // 返回顶部

获取滚动条的距离
this.scroller.currentOffset().xOffset
this.scroller.currentOffset().yOffset

Scroll事件
滚动时添加逻辑   滚动时 一直触发
注册滚动事件 =》添加一个逻辑 指定他的执行时机
.onScroll((x:number,y:number)=>{  })


容器组件Tabs
Tabs(){ 
TabContent(){}.tabBar('')
 }

TabContent 里只能有一个子组件

Tabs 支持两种切换 滑动,点击

通用属性
导航位置
barPosition   Tabs({barPosition:BarPosition.End})
垂直导航 =》车机和平板用的多
.vertical(true)
禁用滑动切换(默认可以滑动切换)
.scrollbale(false)
点击切换(切换时的动画效果)
.animationDuration(数字)
.animationDuration(0)  ==》切换时瞬间切换


滚动导航栏
tabs导航栏一旦多了 默认挤压效果
.barMode(BarMode.Scrollable)


自定义构建函数(自定义结构函数)
Tabs() { TabContent() {}.tabBar(this.fun()) }
@Builder
fun() { }

Tabs组件事件
onChange(event:(index:number)=>void)   在改变时执行  页面切换完成时执行
onTabBarClick(event:(index:number)=>void) 在点击导航栏时执行 只要点击时立即执行

 // 思维导图


这篇关于鸿蒙开发加强2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1023760

相关文章

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经