HarmonyOS 开发基础(七)内容小结合

本文介绍了如何在HarmonyOS中使用ImageTextTextInputButtonSlider组件创建一个可调整图片大小的控件,包括输入框、按钮和滑动条的交互实现。
摘要由CSDN通过智能技术生成

HarmonyOS 开发基础(七)内容小结合

制作一个图片大小控制器

在这里插入图片描述

使用组件有:
  1. Image
  2. Text
  3. TextInput
  4. Button
  5. Slider
@Entry
@Component
struct Index {
  @State imgUrl: string = 'https://gw.alicdn.com/imgextra/i2/2201227850912/O1CN01B7gVvP1Ibk6HMiDRz_!!2201227850912.jpg_Q75.jpg_.webp'
  @State imageSize: number = 300
  build() {
    Row() {
      Column() {
        // 图片行
        Row() {
          // Image:图片组件
          Image(this.imgUrl)
            .width(this.imageSize)
            .height(this.imageSize)
        }
        .margin({bottom: 20, top: 20})
        .justifyContent(FlexAlign.Center)


        // 输入行
        Row() {
          // Text:文本组件
          Text('图片宽度:')
            .width('25%')
          // TextInput:文本单行文本输入框组件
          TextInput({
            placeholder: '请输入图片宽度',
            text: this.imageSize.toString()
          })
            .width('50%')
            // onChange:组件事件,当输入框当中的值发生改变时触发
            .onChange(value => {
              // 将 imageSize 值改为单行文本输入框内的值
              this.imageSize = parseInt(value)
            })
        }
        .width('100%')
        .margin({bottom: 20})
        .justifyContent(FlexAlign.Center)


        // 按钮行
        Row() {
          // Button:按钮组件
          Button('缩小')
            .width(150)
            // onClick:组件事件,当点击按钮时触发
            .onClick(() => {
              // 将 imageSize 值减10
              this.imageSize -= 10
            })
          // Button:按钮组件
          Button('放大')
            .width(150)
              // onClick:组件事件,当点击按钮时触发
            .onClick(() => {
              // 将 imageSize 值加10
              this.imageSize += 10
            })
        }
        .width('100%')
        .margin({bottom: 10})
        .justifyContent(FlexAlign.SpaceAround)


        // 滑块行
        Row() {
          // Slider:滑动条组件
          Slider({
            min: 100,
            max: 500,
            value: this.imageSize,
            step: 10,
            style: SliderStyle.InSet
          })
            .width('92%')
            .showTips(true)
            // onChange:组件事件,当滑块移动时触发
            .onChange(value => {
              // 将 imageSize 值改变成滑动条组件内的值
              this.imageSize = value
            })
        }
      }
      .width('100%')
    }
  }
}
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值