HarmonyOS:QRCode显示单个二维码的组件

84 阅读2分钟

一、概述

QRCode用于显示单个二维码的组件。
说明 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
二维码组件的像素点数量与内容有关,当组件尺寸过小时,可能出现无法展示内容的情况,此时需要适当调整组件尺寸。

二、接口

QRCode(value: string)
卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valuestring二维码内容字符串。最大支持512个字符,若超出,则截取前512个字符。
说明:该字符串内容确保有效,不支持null、undefined以及空内容,当传入上述内容时,将生成无效二维码。

三、事件

通用事件支持点击事件、触摸事件、挂载卸载事件。

四、示例

该示例展示了QRCode组件的基本使用方法,通过color属性设置二维码颜色、backgroundColor属性设置二维码背景颜色、contentOpacity属性设置二维码不透明度。

效果图
在这里插入图片描述

示例代码 TestQRCode.ets

@Entry
@Component
struct TestQRCode {
  @State message: string = 'QRCode';
  private value: string = 'hello world';

  build() {
    Column({ space: 10 }) {
      Text(this.message)
        .id('TestQRCodeHelloWorld')
        .fontSize($r('app.float.page_text_font_20fp'))
        .fontWeight(FontWeight.Bold)
        .margin({ top: 20 })
      Text('normal').fontSize(14).width('90%').fontColor(0xCCCCCC)
      QRCode(this.value).width(140).height(140)

      // 设置二维码颜色
      Text('设置二维码颜色 color').fontSize(14).width('90%').fontColor(0xCCCCCC)
      QRCode(this.value).color(0xF7CE00).width(140).height(140)

      // 设置二维码背景色
      Text('设置二维码背景色 backgroundColor').fontSize(14).width('90%').fontColor(0xCCCCCC)
      QRCode(this.value).width(140).height(140).backgroundColor(Color.Orange)

      // 设置二维码不透明度
      Text('设置二维码不透明度 contentOpacity').fontSize(14).width('90%').fontColor(0xCCCCCC)
      QRCode(this.value).width(140).height(140).color(Color.Black).contentOpacity(0.1)

    }
    .height('100%')
    .width('100%')
  }
}