ArkUI类微信语音消息

前言

UI:整体是Column布局,然后用Blank()组件将操作栏置底,图标设置了手势组(长按以及滑动,并将两个手势设置为parallel,表示可以并发执行),此外UI有些冗余
TS:用一个isShow表示是否需要弹出操作栏,用bottomHeight和bottomWidth存储底部操作栏的高度和宽度,定义一个枚举类,里面的枚举值用来表示不同的状态,当长按和滑动的时候,使用gesture的属性方法注册事件

效果

长按语音代码后图片更换,然后弹出取消和转文字按钮,同时移动鼠标,靠近哪个操作区,哪个操作区就会变大
UI很丑,纯学习
在这里插入图片描述

代码

// 添加 枚举类型,用于识别 当前手势位置
enum SelectedType{
   
  DELETE, // 取消时
  TEXT,// 转文本
  VOICE // 语音发送
}
@Entry
@Component
struct GestureDemoPage {
   
  @State message: string = 'Hello World';
  @State statue:SelectedType = SelectedType.VOICE
  @State isShow:boolean = false
  bottomWidth:number = 0
  bottomHeight:number = 0

  build() {
   
    Column(){
   
      Column(){
   }
        .layoutWeight(1)
      if (this.isShow){
   
         Column(){
   
            Row(){
   
              Text('X')
                .fontSize(40)
                .backgroundColor(Color.Orange
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值