鸿蒙基础Row,Column,Text组件应用小实例(Harmony)

目标:Row组件和Column组件配合使用,模拟骰子六个面,并且显示在同一个界面

设计:对每一面骰子点数进行细分设计,可以将3,5分组重复使用,1,2,4,6单独加Row组件

3,5图例:

      Column

Row

TextTextText

Row

TextTextText

Row

TextTextText

实现:使用Text组件承载骰子圆点,并且设置为红色,为圆

代码如下

Text().height(35).width(35).backgroundColor('red').borderRadius(20)

将骰子1使用代码表示如下:

@Entry
@Component
struct T {
  build() {
    Column(){
      Column(){
        Text().height(35).width(35).backgroundColor('red').borderRadius(20)
      }.height('150').width('150').border({width:2}).justifyContent(FlexAlign.SpaceAround).borderRadius(20)
    }.height('100%').width('100%').justifyContent(FlexAlign.SpaceAround)
  }
}

实现样式如下:

代码.justifyContent(FlexAlign.SpaceAround)是将第Column组件进行居中

完整代码如下:

@Entry
@Component
//筛子1-6合集
struct Page {
  build() {
    Column(){
      Row(){
        Column(){
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
        }.height('150').width('150').border({width:2}).justifyContent(FlexAlign.SpaceAround).borderRadius(20)
        //
        Column(){
          Row(){
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
          }.width('100%').justifyContent(FlexAlign.SpaceAround)
        }.height('150').width('150').border({width:2}).justifyContent(FlexAlign.SpaceAround).borderRadius(20)

      }.width('100%').justifyContent(FlexAlign.SpaceAround)
      //3
      Row(){
        Column(){
          Row(){
            Text().height(35).width(35)
            Text().height(35).width(35)
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
          }.width('100%').justifyContent(FlexAlign.SpaceAround)
          Row(){
            Text().height(35).width(35)
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
            Text().height(35).width(35)
          }.width('100%').justifyContent(FlexAlign.SpaceAround)
          Row(){
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
            Text().height(35).width(35)
            Text().height(35).width(35)
          }.width('100%').justifyContent(FlexAlign.SpaceAround)
        }.height('150').width('150').border({width:2}).justifyContent(FlexAlign.SpaceAround).borderRadius(20)
        //4
        Column(){
          Row(){
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
          }.width('100%').justifyContent(FlexAlign.SpaceAround)
          Row(){
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
          }.width('100%').justifyContent(FlexAlign.SpaceAround)
        }.height('150').width('150').border({width:2}).justifyContent(FlexAlign.SpaceAround).borderRadius(20)

      }.width('100%').justifyContent(FlexAlign.SpaceAround)
      ///5
      Row(){
        Column(){
          Row(){
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
            Text().height(35).width(35)
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
          }.width('100%').justifyContent(FlexAlign.SpaceAround)
          Row(){
            Text().height(35).width(35)
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
            Text().height(35).width(35)
          }.width('100%').justifyContent(FlexAlign.SpaceAround)
          Row(){
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
            Text().height(35).width(35)
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
          }.width('100%').justifyContent(FlexAlign.SpaceAround)
        }.height('150').width('150').border({width:2}).justifyContent(FlexAlign.SpaceAround).borderRadius(20)
        //
        Column(){
          Row(){
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
          }.width('100%').justifyContent(FlexAlign.SpaceAround)
          Row(){
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
          }.width('100%').justifyContent(FlexAlign.SpaceAround)
          Row(){
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
            Text().height(35).width(35).backgroundColor('red').borderRadius(20)
          }.width('100%').justifyContent(FlexAlign.SpaceAround)
        }.height('150').width('150').border({width:2}).justifyContent(FlexAlign.SpaceAround).borderRadius(20)

      }.width('100%').justifyContent(FlexAlign.SpaceAround)

    }.height('100%').width('100%').border({width:2, color:'blue'}).justifyContent(FlexAlign.SpaceAround)

  }
}

显示结果如下:

本次实例为了更加形象,不考虑变量使用,不考虑程序封装,在实际开发中请将重复相同数值采用变量说明,重复代码进行封装处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值