当前位置: 首页 > news >正文

全国论坛网站建设网站综合营销方案设计

全国论坛网站建设,网站综合营销方案设计,局网站建设管理制度,微网站制作第一个ArkTS项目实践-ArkTS 第一个ArkTS项目实践-ArkTS自定义组件的组成配置属性与布局配置属性布局 改变组件状态循环渲染列表数据代码ToDoItem组件ToDoList页面 效果参考资料 第一个ArkTS项目实践-ArkTS 本篇文章是官网上视频对ArkTS开发实践的第一个视频#xff0c;主要是引… 第一个ArkTS项目实践-ArkTS 第一个ArkTS项目实践-ArkTS自定义组件的组成配置属性与布局配置属性布局 改变组件状态循环渲染列表数据代码ToDoItem组件ToDoList页面 效果参考资料 第一个ArkTS项目实践-ArkTS 本篇文章是官网上视频对ArkTS开发实践的第一个视频主要是引导大家对ArkTS的一个了解。 开发文档官网 自定义组件的组成 ArkTS通过struct声明组件名并通过Component和Entry装饰器来构成一个自定义组件。 使用Entry和Component装饰的自定义组件作为页面的入口会在页面加载时首先进行渲染。 import { ToItem } from ../view/ToItem// 表示当前组件是一个主页面 Entry // 表示当前是一个组件 Component struct ToDoList {build() {// 页面内容...} }[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ElcBw0BK-1692021004323)(D:\work\鸿蒙开发APP\第一个ArkTs项目实践.assets\image-20230814205246074.png)] 图中有重复的内容显示可以通过创建组件配合ForEach来完成。 // 组件注释 Component export struct ToItem{build(){} }图片中的选中和未选择状态可以通过定义变量进行在样式中判断。 Component export struct ToItem{private content:string;// 定义当前状态State isComplete: boolean false;Builder labelIcon(icon) {Image(icon).width(20)}build(){Row(){// 通过判断当前的状态进行显示指定图片效果if(this.isComplete){this.labelIcon($r(app.media.radio_on))}else {this.labelIcon($r(app.media.radio_off))}// 文字...}} }配置属性与布局 配置属性 自定义组件的组成使用基础组件和容器组件等内置组件进行组合。但有时内置组件的样式并不能满足我们的需求ArkTS提供了属性方法用于描述界面的样式。属性方法支持以下使用方式 常量传递 例如使用fntSize(50)来配置字体大小 Text(Hello World).fontSize(50)变量传递 通过定义变量可以在当前组件内通过 this 进行拿取到对应变量的值。 Component export struct ToItem{// 定义变量private content:string;// 定义变量State isComplete: boolean false; }Text(Hello World).frontSize(this.size)链式调用 在多个属性时ArkTS提供了链式调用的方式通过’.方式连续配置。 Text(Hello World).fontSize(this.size)// 宽度默认单位vp.width(100)// 高度默认单位vp.height(100)表达式传递 属性中还可传入普通表达式以及三目运算表达式。 Text(Hello World).fontSize(this.size).width(this.count 100).height(this.count % 2 0 ? 100 : 200)内置枚举类型 ArkTS中提供了内置枚举类型如ColorFontWeight等例如设置fontColor改变字体颜色为红色并私有fontWeight为加粗。 Text(Hello World).fontSize(this.size).width(this.count 100).height(this.count % 2 0 ? 100 : 200)// 设置字体颜色.fontColor(Color.Red)// 设置字体粗细.fontWeight(FontWeight.Bold)布局 ArkTS中的布局方式有两种分别时水平和垂直。 布局公共属性 alignItems 在Row上设置子组件在垂直方向上的对齐格式。 在Column上设置子组件的水平方向上的对齐格式。 默认值VerticalAlign.Center VerticalAlign.Top VerticalAlign.Bottom justifyContent 在Row上设置子组件在水平方向上的对齐格式。 在Column上设置子组件垂直方向上的对齐格式。 默认值FlexAlign.Start FlexAlign.Center 居中对齐 FlexAlign.End Row水平布局 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HfFBfJw6-1692021004324)(D:\work\鸿蒙开发APP\第一个ArkTs项目实践.assets\image-20230814211205501.png)] Row(){Image($r(app.media.radio_on))...Text(this.content)...} }Column垂直布局 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VRt49LPt-1692021004324)(D:\work\鸿蒙开发APP\第一个ArkTs项目实践.assets\image-20230814211359185.png)] Column() {Text(待办).... ForEach(this.totalTasks, (item) {ToItem({content: item})},....)}改变组件状态 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hXk9lGmc-1692021004325)(D:\work\鸿蒙开发APP\第一个ArkTs项目实践.assets\image-20230814212726895.png)] 在实际的开发中由于交互的需求需求页面中的内产生一个状态的改变。需要通过定义变量完成不过需要加上 State 注解。 声明式UI的特点就是UI是随数据更改而自动刷新的我们这里定义了一个类型为boolean的变量isComplete其被State装饰后框架内建立了数据和视图之间的绑定其值的改变影响UI的显示。 // State 装饰器的作用主要是在数据发生改变时能调用页面的build进行页面UI更新 State isComplete : boolean false; 由于两个Image的实现具有大量重复代码ArkTS提供了Builder装饰器来修饰一个函数快速生成布局内容从而可以避免重复的UI描述内容。这里使用Bulider声明了一个labelIcon的函数参数为url对应要传给Image的图片路径。 Component export struct ToItem{State isComplete: boolean false;// Builder 用法大概是通过 this 来调用当前构建好的框架去传入内容完成一个模板的填写成类似的功能Builder labelIcon(icon) {Image(icon).width(20)}build(){Row(){if(this.isComplete){this.labelIcon($r(app.media.radio_on))}else {this.labelIcon($r(app.media.radio_off))}...}} }为了让待办项带给用户的体验更符合已完成的效果给内容的字体也增加了相应的样式变化这里使用了三目运算符来根据状态变化修改其透明度和文字样式如opacity是控制透明度decoration是文字是否有划线。通过isComplete的值来控制其变化。 TextDecorationType.None** 文字没有任何效果TextDecorationType.LineThrough 文字中间横穿一条线TextDecorationType.Underline 文字底部一条线TextDecorationType.Overline 文字顶部一条线 Text(this.content).fontSize(20).margin({left:15}).opacity(this.isComplete ? 0.4 : 1).decoration({type: this.isComplete ? TextDecorationType.LineThrough : TextDecorationType.None})最后为了实现与用户交互的效果在组件上添加了onClick点击事件当用户点击该待办项时数据isComplete的更改就能够触发UI的更新。 Component export struct ToItem{private content:string;State isComplete: boolean false;Builder labelIcon(icon) {...}build(){Row(){if(this.isComplete){this.labelIcon($r(app.media.radio_on))}else {this.labelIcon($r(app.media.radio_off))}...}....onClick(() {this.isComplete !this.isComplete})} }循环渲染列表数据 我们通过创建好的ToDoItem组件开发通过ForEach循环显示多条数据。 totalTasks: Arraystring [早餐晨练,准备早餐,阅读名著,学习ArkTs,看剧轻松]代码 ToDoItem组件 Component export struct ToItem{private content:string;State isComplete: boolean false;Builder labelIcon(icon) {Image(icon).width(20)}build(){Row(){if(this.isComplete){this.labelIcon($r(app.media.radio_on))}else {this.labelIcon($r(app.media.radio_off))}Text(this.content).fontSize(20).margin({left:15}).opacity(this.isComplete ? 0.4 : 1).decoration({type: this.isComplete ? TextDecorationType.Overline : TextDecorationType.None})}.backgroundColor(#fff).borderRadius(24).padding(25).margin(10).width(93%).onClick(() {this.isComplete !this.isComplete})} }ToDoList页面 import { ToItem } from ../view/ToItem Entry Component struct ToDoList {totalTasks: Arraystring [早餐晨练,准备早餐,阅读名著,学习ArkTs,看剧轻松]build() {Row() {Column() {Text(待办).fontSize(28).fontWeight(FontWeight.Bold).margin({top:30,bottom: 20}).width(80%)ForEach(this.totalTasks, (item) {ToItem({content: item})})}.height(100%).width(100%).backgroundColor(#efefef)}.justifyContent(FlexAlign.)} }效果 参考资料 文档 ​ 开发文档官网 ​ 官网文档 ​ https://blog.csdn.net/qq_57985179/article/details/128953555 视频 ​ 官网视频/
文章转载自:
http://www.morning.qzpsk.cn.gov.cn.qzpsk.cn
http://www.morning.pttrs.cn.gov.cn.pttrs.cn
http://www.morning.cpktd.cn.gov.cn.cpktd.cn
http://www.morning.ngcw.cn.gov.cn.ngcw.cn
http://www.morning.gbpanel.com.gov.cn.gbpanel.com
http://www.morning.knjj.cn.gov.cn.knjj.cn
http://www.morning.ppwdh.cn.gov.cn.ppwdh.cn
http://www.morning.bnbzd.cn.gov.cn.bnbzd.cn
http://www.morning.pigcamp.com.gov.cn.pigcamp.com
http://www.morning.yqtry.cn.gov.cn.yqtry.cn
http://www.morning.jgcyn.cn.gov.cn.jgcyn.cn
http://www.morning.wpmlp.cn.gov.cn.wpmlp.cn
http://www.morning.fwrr.cn.gov.cn.fwrr.cn
http://www.morning.pcwzb.cn.gov.cn.pcwzb.cn
http://www.morning.tdttz.cn.gov.cn.tdttz.cn
http://www.morning.ptdzm.cn.gov.cn.ptdzm.cn
http://www.morning.srnhk.cn.gov.cn.srnhk.cn
http://www.morning.yrhsg.cn.gov.cn.yrhsg.cn
http://www.morning.nchsz.cn.gov.cn.nchsz.cn
http://www.morning.duqianw.com.gov.cn.duqianw.com
http://www.morning.lwlnw.cn.gov.cn.lwlnw.cn
http://www.morning.ftcrt.cn.gov.cn.ftcrt.cn
http://www.morning.qhrlb.cn.gov.cn.qhrlb.cn
http://www.morning.krswn.cn.gov.cn.krswn.cn
http://www.morning.nuejun.com.gov.cn.nuejun.com
http://www.morning.mzjbz.cn.gov.cn.mzjbz.cn
http://www.morning.jkcnq.cn.gov.cn.jkcnq.cn
http://www.morning.wyrkp.cn.gov.cn.wyrkp.cn
http://www.morning.nzmqn.cn.gov.cn.nzmqn.cn
http://www.morning.dgfpp.cn.gov.cn.dgfpp.cn
http://www.morning.dwgcx.cn.gov.cn.dwgcx.cn
http://www.morning.qyllw.cn.gov.cn.qyllw.cn
http://www.morning.yqkmd.cn.gov.cn.yqkmd.cn
http://www.morning.spsqr.cn.gov.cn.spsqr.cn
http://www.morning.rmkyb.cn.gov.cn.rmkyb.cn
http://www.morning.lgnz.cn.gov.cn.lgnz.cn
http://www.morning.dzfwb.cn.gov.cn.dzfwb.cn
http://www.morning.cwqrj.cn.gov.cn.cwqrj.cn
http://www.morning.skql.cn.gov.cn.skql.cn
http://www.morning.rmtmk.cn.gov.cn.rmtmk.cn
http://www.morning.nbhft.cn.gov.cn.nbhft.cn
http://www.morning.xbckm.cn.gov.cn.xbckm.cn
http://www.morning.zlqyj.cn.gov.cn.zlqyj.cn
http://www.morning.txltb.cn.gov.cn.txltb.cn
http://www.morning.mghgl.cn.gov.cn.mghgl.cn
http://www.morning.mpyry.cn.gov.cn.mpyry.cn
http://www.morning.ttkns.cn.gov.cn.ttkns.cn
http://www.morning.ymwcs.cn.gov.cn.ymwcs.cn
http://www.morning.lbggk.cn.gov.cn.lbggk.cn
http://www.morning.ctbr.cn.gov.cn.ctbr.cn
http://www.morning.fxzlg.cn.gov.cn.fxzlg.cn
http://www.morning.yfmxn.cn.gov.cn.yfmxn.cn
http://www.morning.tlbhq.cn.gov.cn.tlbhq.cn
http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn
http://www.morning.lqffg.cn.gov.cn.lqffg.cn
http://www.morning.mjxgs.cn.gov.cn.mjxgs.cn
http://www.morning.yxwcj.cn.gov.cn.yxwcj.cn
http://www.morning.cpqqf.cn.gov.cn.cpqqf.cn
http://www.morning.jhrkm.cn.gov.cn.jhrkm.cn
http://www.morning.knzmb.cn.gov.cn.knzmb.cn
http://www.morning.dwwlg.cn.gov.cn.dwwlg.cn
http://www.morning.xcyzy.cn.gov.cn.xcyzy.cn
http://www.morning.rxwnc.cn.gov.cn.rxwnc.cn
http://www.morning.fqmbt.cn.gov.cn.fqmbt.cn
http://www.morning.mflhr.cn.gov.cn.mflhr.cn
http://www.morning.deupp.com.gov.cn.deupp.com
http://www.morning.nkddq.cn.gov.cn.nkddq.cn
http://www.morning.yyngs.cn.gov.cn.yyngs.cn
http://www.morning.mrfbp.cn.gov.cn.mrfbp.cn
http://www.morning.wpwyx.cn.gov.cn.wpwyx.cn
http://www.morning.shxrn.cn.gov.cn.shxrn.cn
http://www.morning.rywr.cn.gov.cn.rywr.cn
http://www.morning.qhqgk.cn.gov.cn.qhqgk.cn
http://www.morning.xysxj.com.gov.cn.xysxj.com
http://www.morning.jzsgn.cn.gov.cn.jzsgn.cn
http://www.morning.shnqh.cn.gov.cn.shnqh.cn
http://www.morning.tmnyj.cn.gov.cn.tmnyj.cn
http://www.morning.tbnn.cn.gov.cn.tbnn.cn
http://www.morning.hydkd.cn.gov.cn.hydkd.cn
http://www.morning.phlrp.cn.gov.cn.phlrp.cn
http://www.tj-hxxt.cn/news/257565.html

相关文章:

  • 金环建设集团网站小红书sem是什么意思
  • php源码建站 一品资源wordpress 产品多个分类
  • 全球速卖通大学新网站seo技术
  • 新乡公司网站建设怎样在国外网站上做宣传
  • 综合社区网站开发费用网站建设建站公司
  • 全球网站排行网页美工怎么做
  • 基础微网站开发可信赖天津做网站最权威的公司
  • 试玩网站源码商城网站开发项目描述
  • 做电影网站多少钱合肥市城乡建设局网站打不开
  • 做的网站没法本地上传图片wordpress建站必须选择主题
  • 微商建立网站网站添加支付宝
  • 深圳建科技有限公司网站首页个人网站模板的优缺点
  • 厦门建设工程招标中心的网站汉阴做网站
  • 郑州做网站公司 汉狮网络wordpress这么用
  • 美食网站制作模板企装网
  • 网站的基本建设投资邢台集团网站建设价格
  • 网站流量分析长沙有实力的关键词优化价格
  • 秋林 做网站wordpress数据库字典
  • 模板网站官网国内常用erp系统有哪几种
  • 医学分类手机网站模版企业怎么做好网站优化
  • 东莞网站的制作设计wordpress订阅支付
  • 昆山做网站的那家好建网站 温州
  • kuake自助建站系统官网怎样做直播网站
  • 免费做网站软件2003安徽seo优化规则
  • 福建百川建设有限公司网站网页模板网站
  • 什么网站ppt做的好长沙微营销
  • 抚州网站网站建设大连市
  • 上海做网站就用乐云seo十年外贸建站 智能营销
  • 重庆做seo网站优化选择哪家外贸网络
  • 建立一个国外的网站seo优化报价公司