ArkTs日常开发

目录

一、文本溢出显示省略号

二、图片组件

三、输入框和按钮

四、svg图片的使用

五、设置边框

六、设置圆角

七、定位像素问题


一、文本溢出显示省略号

@Entry
@Component
struct testIndex {
  // 构建 → 界面
  build() {
    Column() {
      Text('HarmonyOS开发初体验')
        .width('100%')
        .lineHeight(50)
        .fontSize(20)
        .fontWeight(FontWeight.Bold)
      Text('方舟开发框架(简称ArkUI)为HarmonyOS应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面开发。')
        .width('90%')
        .lineHeight(24)
          // 重点记忆:文字溢出显示省略号
        .textOverflow({
          // overflow: TextOverflow.Ellipsis//显示省略号
          // overflow: TextOverflow.None//文本超长时按最大行截断显示。
          // overflow: TextOverflow.Clip//文本超长时按最大行截断显示。
          overflow:TextOverflow.MARQUEE//	文本超长时以跑马灯的方式展示。
        })
          // 必须配合maxLines才有效果
        .maxLines(2)//行数
    }
    .width('100%')
    .padding(20)
  }
}

二、图片组件

// 网络图片地址:
// https://www.itheima.com/images/logo.png

@Entry
@Component
struct Index {
  @State message: string = '学鸿蒙';
  build() {
    // 1. 网络图片加载 Image('网图地址')
    // Column() {
    //   Image('https://www.itheima.com/images/logo.png')
    //     .height(50)
    // }

    // 2. 本地图片加载  Image( $r('app.media.文件名') )
    Column() {
      Image($r('app.media.product'))
        .width(200)
      Text('耐克龙年限定款!!!')
        .width(200)
      Row() {
        Image($r('app.media.avatar'))
          .width(20)
        Text('令人脱发的代码')
      }
      .width(200)
    }
  }
}

三、输入框和按钮

@Entry
@Component
struct textIndex {
  @State message: string = '学鸿蒙';
  build() {
    // 控制组件间的距离,可以给 Column 设置 { space: 间隙大小 }
    Column({ space: 15 }) {
      TextInput({
        placeholder: '请输入用户名'
      })
      TextInput({
        placeholder: '请输入密码'
      }).type(InputType.Password)
      Button('登录')
        .width(200)
    }
  }
}

四、svg图片的使用

放到media文件夹,正常引用就行

@Entry
@Component
struct Index {
  @State message: string = '学鸿蒙';
  build() {
    Column() {
      // svg特点:
      // 1. 任意放大缩小不失真
      // 2. 可以修改颜色
      Image($r('app.media.ic_late'))
        .width(200)
        .fillColor(Color.Orange)
      Image($r('app.media.icon'))
        .width(50)

      Image($r('app.media.ic_arrow_right'))
        .width(50)
        .fillColor(Color.Blue)
    }
  }
}

五、设置边框

@Entry
@Component
struct Indexa {
  @State message: string = '学鸿蒙';
  build() {
    Column() {
      Text('待完善')
        .fontColor(Color.Red)
        .padding(5)
        .border({
          width: 1, // 宽度(必须)
          color: Color.Red, // 颜色
          style: BorderStyle.Dashed // 样式(实线、虚线、点线)
        })
        .margin({ bottom: 20 })

      Text('单边框')
        .padding(5)
          // 单边框,可以通过 left right bottom top 配置四个方向边框
        .border({
          width: { left: 1, right: 2 },
          color: { left: Color.Red, right: Color.Green },
          style: {
            left: BorderStyle.Dashed,
            right: BorderStyle.Dotted
          }
        })
    }
    .padding(20)
  }
}


六、设置圆角

@Entry
@Component
struct Index {
  @State message: string = '学鸿蒙';
  build() {
    Column() {
      Text('没有圆角')
        .width(100)
        .height(60)
        .backgroundColor(Color.Pink)
        .margin({ bottom: 30 })

      // 添加圆角:
      // 1. .borderRadius(数值) 四个角圆角相同
      // 2. .borderRadius({ 方位词: 值 }) 单独给某个角设置圆角
      Text('添加圆角')
        .width(100)
        .height(60)
        .backgroundColor(Color.Orange)
        // .borderRadius(15) // 通过不同数值,可以设置不同大小的圆角
        // .borderRadius({
        //   topLeft: 10,
        //   topRight: 20,
        //   bottomRight: 30,
        //   bottomLeft: 40
        // })
        .borderRadius({
          topLeft: 20,
          bottomRight: 20
        })
    }
    .padding(20)
  }
}


七、定位像素问题

@Entry
@Component
struct Indexa {
  @State message: string = '学鸿蒙';
  build() {
    // backgroundImagePosition
    // 1. 传入对象, 设置位置坐标,背景图片的左顶点
    //    { x: 坐标值, y: 坐标值 }
    //    注意:坐标值的单位,和宽高的默认单位不同的,显示出来大小会不同
    //
    // 2. Alignment 枚举,设置一些特殊的位置(中央、左顶点...)
    //    Center  TopStart左顶点 TopEnd右顶点 BottomEnd右下...
    Column() {
      Text()
        .width('300vp')
        .height('200vp')
        .backgroundColor(Color.Pink)
        .backgroundImage($r('app.media.flower'))
        .backgroundImagePosition({
          x: vp2px(150),
          y: vp2px(100)
        })
    }
    .padding(20)
  }
}


八、

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值