鸿蒙HarmonyOS NEXT 5.0开发(2)—— ArkUI布局&组件

布局

主轴和交叉轴的概念:

  • 对于Column布局而言,主轴是垂直方向,交叉轴是水平方向
  • 对于Row布局而言,主轴是水平方向,交叉轴是垂直方向
    在这里插入图片描述

Column:从上往下的布局

在这里插入图片描述

@Entry
@Component
struct Layouts {
   
  @State message: string = 'Hello World';

  build() {
   
    /*
    column:从上往下的布局
    {space:5}对应每个组件有.margin({top:5})
    * 对齐问题:
    *   主轴:从上往下的方向
    *   交叉轴:横向的为交叉轴
     */
    Column({
    space: 5}) {
   
      Text("你好,鸿蒙Next")
        // 组件的基础属性,宽度、高度、边框设置
        .width(150)
        .height(50)
        .border({
   
          width:1,
          color: 'red'
        })
      Text("你好,鸿蒙Next")
        .width(150)
        .height(50)
        .border({
   
          width:1,
          color: 'red'
        })
      Text("你好,鸿蒙Next")
        .width(150)
        .height(50)
        .border({
   
          width:1,
          color: 'red'
        })
    }
    .width(300)
    .height(500)
    .border({
   color: 'green', width:2})
    // 设置交叉轴方向的对齐:Start、Center、End
    .alignItems(HorizontalAlign.Start)
    // 设置主轴方向的对齐:Start、End、Center、SpaceBetween、SpaceAround、SpaceEvenly
    .justifyContent(FlexAlign.SpaceEvenly)
  }
}

在这里插入图片描述

@Entry
@Component
struct Layouts {
   
  @State message: string = 'Hello World';

  build() {
   
    /*
    用column实现登陆界面
     */
    Column({
    space:15}) {
   
      Image($r('app.media.startIcon'))
        .width(150)
      TextInput({
   placeholder: '请输入账号: '})
      TextInput({
   placeholder: '请输入密码: '})
        .type(InputType.Password)
      Button('登陆')
      	// 写函数去实现交互
        .onClick(()=>{
   
          // 创建一个对象,可以用字面量来写,需要该进成接口或类
          let obj: User = {
   
              name: "",
              pwd: ''
          }
          let user: UserInfo | null = null
          AlertDialog.show({
    message: JSON.stringify(user) })
        })
        .width('100%')
      Row() {
   
        Text('忘记密码?')
        Blank(30)
        Text('注册')
      }
    }
    .height('100%')
    .width('100%')
    .padding(20)
  }
}


interface User {
   
  name: string
  pwd: string
}


class UserInfo {
   
  name: string = ''
  pwd: string = ''

  // constructor(name: string, pwd: string) {
   
  //   this.name = name;
  //   this.pwd = pwd;
  // }
}

Row:从左往右的布局

在这里插入图片描述

@Entry
@Component
struct Layouts {
   
  @State message: string 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值