初识HarmonyOS,ArkTs+ArkUI基础+登录界面实战

ArkTs基础语法

常用变量类型及其使用

1.string(字符串)

通过let关键字创建变量存储字符串类型数据

格式:let 变量名:类型 =值

(注意命名规则:类似Java,ArkTs变量名只能包含数字,字母,下划线,$,且不能以数字开头,不能使用关键字作为变量名)

如创建变量apple来存储数据“苹果”

let apple: string ='苹果'

2.number(数值)

与string类似

格式:let 变量名:类型 =值

如创建变量one来存储数据1

let one: number = 1

3.boolean(布尔)

与前两个类似

如创建变量correct来存储数据true

let correct: boolean = true

4.联合类型

使用联合类型可以增加代码的灵活性,可以根据具体的情况选择使用不同的类型。通常情况下number类型的变量只能存储number类型的值,string类型的变量只能存储string类型的值,使用联合类型就能使变量存储多种不同类型的值。

如这里定义了一个MyUnion类型,它是string和number的联合类型,表示变量可以是字符串或数字。

let MyUnion: string | number =1

MyUnion='数字一'

常量

与变量类似,使用const创建

如创建常量PI=3.14

const PI:number=3.14

数组

格式:let 数组名: 类型[] = [数据1,数据2......]

如创建字符串数组存储数据“小明”,“小红”

let array: string[]=['小明','小红']

函数与箭头函数

定义(没有参数可不写):

function 函数名(形参: 类型){

函数体

}

调用:

函数名(实参)

如定义一个函数实现简单的加法功能(1+2)

function add(digit1: number,digit2: number){
return digit1+digit2
}

let result: number=add(1,2)

箭头函数是函数的简写版本

格式:let 函数名= (形参)=>{

函数体

}

如通过箭头函数改写以上代码

let add = (digit1: number,digit2: number)=>{

return digit1+digit2
}

let result: number=add(1,2)

接口与对象

接口定义格式:

interface 接口名{

属性1:类型

属性2:类型

......

方法1:(参数:类型)=>返回值类型

方法2:(参数:类型)=>返回值类型

// 无返回值写void不可不写

......

}

对象创建格式:

let 对象名:接口名={

属性和方法

}

// 接口有的方法和属性对象中都必须要有,有点类似Java的接口和实现类,但不过创建出来的是对象

通过对象名.方法名 来调用对象的方法

如创建一个对象小琳来调用她的属性和方法

interface Ling {

sex: string
birth: string

draw: ()=>void
}

let xl: Ling {

sex: '女'
bieth: '9月28'
draw: ()=>{

console.log('小琳说','我画画很好看')

}

}

xl.draw()//调用对象方法

枚举

枚举是一种特殊的数据类型,约定变量只能在一组数据范围内选择值

枚举定义

enum枚举名{

常量1=数值,

常量2=数值,

......

}

如定义一组颜色,使用枚举类型约束变量只能在一组颜色里选择

enum SelectColor{
Red='#ffof29',
Green='#30b30e'

}

let color1: SelectColor=SelectColor.Red
let color2: SelectColor=SelectColor.Green

ArkUI基础容器和组件

基础容器

build(){

}

用于页面内容展示,需要展示的部分都要写在里面

Column(){

}

内容纵向排布

Row(){

}

内容横向排布

Row和Column可以通过传入space对象来设置内容间隙(间隙相等)

如Column({ space: 10}) 设置内容纵向间隙为10

.magin()设置外边距

.padding()设置内边距

默认上下左右边距相等,可通过传入对象来设置每个边距大小

magin({

top: 10,

bottom:15,

left: 20,

right: 25

})

padding同理

基础组件

Test() 展示文字

Image($r('地址')) 本地图片展示

Image('地址')  网络图片展示

TestInput() 文本输入框

TestInput() 可以通过传入placeholde对象来设置输入提示

如下

TestInput({placeholder: '输入提示'}) 文本输入框

也可以通过.type()来设置输入类型

如设置密码输入框

TestInput({placeholder: '输入密码'}).type(InputType.Password)

Button('按钮名称') 按钮

登入界面实战

有了以上知识我们就写一个简单的登录界面了

如下

 源码

@Entry
@Component
struct Index {
  @State message: string = 'Hello Harmony';

  build() {
   Column({space: 10}){
     Image($r('app.media.1'))
       .width(100)
       .margin({
         top: 10,
         bottom: 5

       })
     Text('Monvine')
       .fontSize(20)
       .fontWeight(FontWeight.Regular)
       .margin({
         bottom:20
       })
     TextInput({ placeholder: 'username'})
     TextInput({ placeholder: 'password'}).type(InputType.Password)
     Button('Login')
       .width('100%')
       .margin({
         top: 15,
         bottom: 15

       })
     Row({space: 10}){
       Text('注册账号')
         .fontColor(Color.Green)
       Text('忘记密码')
         .fontColor(Color.Red)
     }

   }
   .padding(30)
  }
}

  • 24
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Monvine_计算机小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值