3.11 QRCode组件 原创 精华
本节学习一个二维码展示组件QRCode。调用方式很简单,接口参数输入我们希望被读取的字符串内容即可,可通过color属性设置二维码的颜色(如果不设置颜色属性,则默认为黑色), 通用事件仅支持点击事件:
本节教程演示的目标为:二维码上面嵌入头像,可通过Slider组件动态调节二维码的大小,可通过点击选择二维码的颜色,以及通过修改输入框的文字动态生成二维码。效果如下图所示:
首先我们可定义几个变量:
其中变量info用于设置二维码的信息,变量color用于设置二维码的颜色属性,变量size用于设置二维码的大小。
为了能在二维码上放置头像,这里使用了Stack布局组件,关于Stack布局组件的用法将在下一章《第4章 布局组件》中展开讲解。头像尺寸不能太大,否则可能会影响扫码识别,可以设置为二维码尺寸的20%大小,居中叠加到二维码上。为了使二维码的边缘更完美,在Stack组件上设置了10vp的padding,背景色设置为白色,并设置了一个卡片圆角,代码如下:
接下来,通过Slider组件、Gird组件和文本输入组件设置二维码的大小、颜色和内容字符串。由于变量是通过@State声明的,所以,当变量值更改时,会实时刷新二维码效果。
先看调节大小的Slider组件,允许二维码大小范围为100vp-280vp,代码如下:
效果如下:
设置十种可选颜色,点击不同色块,可更改二维码的颜色,代码如下:
效果如下图所示:
最后,利用TextInput组件动态更改二维码内容,代码如下:
由于修改文本框内容需要模拟键盘,所以需要到远程模拟器体验效果:
使用微信扫一扫功能扫描上述二维码,可识别到内容。
【源码地址:https://gitee.com/cloudev/harmonyos3/tree/master/3.0/BaseComponent】
可以自由设置颜色和大小好评!