HarmonyOS 上传身份证、选择拍照、拍摄过程中如何添加身份证正反面蒙层 11:11:32

如图所示:

HarmonyOS 上传身份证、选择拍照、拍摄过程中如何添加身份证正反面蒙层 11:11:32-鸿蒙开发者社区解决方案

可以用stack布局,参考示例如下:

Stack() {
  XComponent({
    id: '',
    type: 'surface',
    libraryname: '',
    controller: this.mXComponentController
  })
    .onLoad(() => {
      // 设置Surface宽高(1920*1080),预览尺寸设置参考前面 previewProfilesArray 获取的当前设备所支持的预览分辨率大小去设置
      // 预览流与录像输出流的分辨率的宽高比要保持一致
      this.mXComponentController.setXComponentSurfaceRect({
        offsetX: 0,
        offsetY: 0,
        surfaceWidth: this.screenWidth,
        surfaceHeight: this.screenWidth
      });
      // 获取Surface ID
      this.surfaceId = this.mXComponentController.getXComponentSurfaceId();
      setTimeout(async () => {
        if (this.SceneMode == 0) {
          await this.prepareCamera(this.ca);
        } else {
          await this.initVideoCamera(this.ca);
        }
      }, 500);
    })
    .width('100%')
    .height(this.imageType == 0 ? px2vp(this.screenWidth) : px2vp(this.screenWidth * 1920.0 / 1080.0))
  //蒙板图片
  Image($r('app.media.background'))
    .width('100%')
    .height('100%')
}

HarmonyOS 关于TextInput实现密码显示隐藏效果 <a name="section494974914104"></a>

问题描述

在TextInput实现自定义UI过程中,控制密码显示隐藏图标,此时TextInput中的文本需要自己替换成类似于******这种吗?指定TextInput.PASSWOR的话,会固定UI效果。

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

参考示例:

const MEETING_PWD_INPUT_KEY = 'MEETING_PWD_INPUT_KEY';

@Builder
export function XYPasswordIcon() {
  Row().width(8).height(8).borderRadius(8).backgroundColor(Color.Black)
}

@Entry
@Component
struct Password {
  @State message: string = 'Hello World';
  @State outputDigits: (string)[] = new Array(6).fill('');
  updatePassword: (pwd: string) => void = () => {
  };

  build() {
    Column() {
      Stack() {
        TextInput()
          .type(InputType.NUMBER_PASSWORD)
          .opacity(0)
          .maxLength(6)
          .width(1)
          .height(1)
          .showPasswordIcon(false)
          .key(MEETING_PWD_INPUT_KEY)
          .onChange((value: string) => {
            this.outputDigits = value.padEnd(6, " ").split("");
            if (value.length === 6) {
              // this.updatePassword(value);
            }
          })

        Row() {
          ForEach(this.outputDigits, (item: string, index: number) => {
            Column() {
              if (item.trim()) {
                XYPasswordIcon();
              }
            }
            .width(40)
            .height(40)
            .borderWidth(index === 5 ? 0 : {
              right: 0.5,
              top: 0,
              left: 0,
              bottom: 0
            })
            .borderColor(Color.Gray)
            .backgroundColor(Color.Transparent)
            .borderRadius(0)
            .alignItems(HorizontalAlign.Center)
            .justifyContent(FlexAlign.Center)
          })
        }
        .width(240)
        .height(40)
        .borderWidth(0.5)
        // .borderColor(Color.Red)
        .borderRadius(5)
        .onClick(() => {
          focusControl.requestFocus(MEETING_PWD_INPUT_KEY)
        })
      }
    }
    .width(288)
    .backgroundColor(Color.White)
    .borderRadius(10)
    .padding({
      left: 24,
      right: 24,
      top: 18,
      bottom: 24
    })
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS nfc识别身份证能力
303浏览 • 1回复 待解决
HarmonyOS 是否具备身份证OCR识别能力
461浏览 • 1回复 待解决
HarmonyOS OCR扫银行卡、身份证能力
106浏览 • 1回复 待解决
HarmonyOS 身份信息demo
24浏览 • 1回复 待解决
HarmonyOS识别CardRecognition
65浏览 • 1回复 待解决
HarmonyOS识别类问题
24浏览 • 1回复 待解决
HarmonyOS bindsheet去除
89浏览 • 1回复 待解决
HarmonyOS 动画过程中UI残留
80浏览 • 1回复 待解决
4.1.0(11) fluterr 验签无法通过
962浏览 • 1回复 待解决
录制过程中HarmonyOS如何切换摄像头
461浏览 • 1回复 待解决
HarmonyOS API Difference Between 11 and 12
5浏览 • 1回复 待解决