ArkTs基础入门

ArkTs基础入门


一、 (方舟开发框架)ArkUI介绍

方舟开发框架(简称:ArkUI),是一套 构建 HarmonyOS 应用 界面 的框架。构建页面的最小单位就
是 "组件"。

二、自定义组件

自定义组件的构成: 
ArkTs通过装饰器:@Component和@Entry装饰struct关键字声明数据结构,构成一个自定义组件。
自定义组件中提供了一个build(){} 函数,须在该函数内进行链式调用的方式进行基本的UI描述

@Entry:@Entry没有页面不会被加载,一个自定义组件只能被一个@Entry进行修饰,也是UI页面的入口
@Component :  表示自定义组件,只能修饰struct关键字声明结构,被修饰后剧本组件渲染能力
自定义组件格式: 
	@Entry
	@Component
	struct Index {
		build(){
		}
	}
在同一个文件中:定义一个组件可以被实现调用 
@Component
struct Index2 {
	build(){
	}
}
调用方式:
	@Entry
	@Component
	struct Index {
		build(){
			column(){
				Index2()
			}
		}
	}

三、组件事件及使用

弹出框

AlertDialog.show({ message: '输出信息' })

分割线

Divider() // 分割线

Text文本

Text("字符串"或者在element中拿取对应值)
方式一 Text("字符串")
方式二 Text($r("app.string.json文件名.对应name") // 可以或者到对应的value 主要方便国际化
Text("值")属性:
	.fontSize()  字体大小
	.fontWeight()  设置字体粗细,值可以设置为字符串或者数字类型数字的取值在【100,900】默认400
	.fontColor() 字体颜色,建议使用十六进制和枚举
	.border()  边框 如:.border({ width: 2 })
	.TextAlign(TextAlign.___)   文本Center居中  Start左边  End右边
	.decoration({ type: TextDecorationType._____})  设置下划线  
	.MaxLines(number)  设置最大行数 ,多出的不会显示,若想看是否存在溢出需要结合 textOverflow,但不会显示溢出多少信息只是有个表示。。。
	.textOverflow({overflow:TextOverflow.Ellipsis})   Clip溢出不显示,Ellipsis:超出最大行数才会生效,才体现一处效果
	.lineHeight()  行高 :行与行的高度
	.width() 宽度
	.height() 高度

当Text中写Span后,text是不生效的,样式也是一样
如:
Text(`sssvfvfv`) {
    Span("米好") // 业务span内容会覆盖Text内容,若样式都有则文本样式不生效
  }

TextInput文本输入框

TextInput({ placeholder: '提示信息',text:'默认值' })
	.width()宽度
	.height() 高度
	.onChange((val)=>{})  触发事件:当写箭头函数时val位置,可以获取输入变量,用于改变定义变量信息
	.type(InputType.___)  设置是普通文本、密码、邮箱格式

Image图片

图片的引用存在2个方式:
当文件在media下时,调用方式为: Image($r("app.media.图片名"))
当文件在rawfile下时,调用方式为:Image($rawfile("图片名"))

Column列

格式:Column(){ }// 在上级为build() 时  每个自定义组件中,统计的只能存在一个 ,因为只能存在一个节点

Row行

格式:Row(){}  // 在上级为build() 时    每个自定义组件中,统计的只能存在一个 ,因为只能存在一个节点

Button按钮

Button(“值”)
.onClick(()=>{处理业务})点击事件使用
.enabled(boolean)  :按钮判断合适禁用启用
	Button("登录")
	.width("80%")
	.onClick(() => {
	  if (true) {
	    AlertDialog.show({ message: '登录成功' })
	  } else {
	    AlertDialog.show({ message: '登录失败' })
	  }
	})
	.enabled(true) // true启用 false 禁用

相关推荐

  1. ArkTs基础入门

    2024-07-09 17:26:06       25 阅读
  2. ArkTS语言基础入门学习-鸿蒙开发

    2024-07-09 17:26:06       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 17:26:06       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 17:26:06       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 17:26:06       58 阅读
  4. Python语言-面向对象

    2024-07-09 17:26:06       69 阅读

热门阅读

  1. 代码随想录Day74(图论Part10)

    2024-07-09 17:26:06       29 阅读
  2. 如何使一个盒子水平垂直居中(常用的)

    2024-07-09 17:26:06       22 阅读
  3. mybatis用注解替换xml,不再写.xml了

    2024-07-09 17:26:06       28 阅读
  4. 拓扑学习系列(9)计算代数拓扑中的复形COMPLEXES

    2024-07-09 17:26:06       29 阅读
  5. Docker

    Docker

    2024-07-09 17:26:06      29 阅读
  6. 服务器安装多个Tomcat

    2024-07-09 17:26:06       26 阅读
  7. 玩转springboot之springboot定制化tomcat

    2024-07-09 17:26:06       30 阅读
  8. Word使用中的一些烦人的小问题

    2024-07-09 17:26:06       24 阅读
  9. Redis 中的跳跃表是什么

    2024-07-09 17:26:06       26 阅读