【每日学点鸿蒙知识】异步介绍、上传app报错、Web控件接口、应用名称自定义配置、ActionSheetOptions自定义

1、HarmonyOS 如何把Image控件的Y值与状态栏对齐?

要将Image组件的Y值与状态栏对齐,可以参照以下步骤:

1、获取状态栏高度: 通过getWindowAvoidArea获取状态栏高度,文档请参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5#getwindowavoidarea9

2、调整Image控件的Y值: 将Image空间的Y值设置为状态栏的高度加上一定的偏移量,具体的偏移量可以根据设计需求进行调整。

3、确保Image控件在状态栏之上:确保Image控件的Y值大于或等于状态栏高度。这样可以确保Image控件的底部与状态栏对齐。

2、HarmonyOS 已经上架的应用无法拉起应用详情页?

使用以下方式拉起详情页Store Kit loadProduct接口跳转详情页:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/store-productview-V5#section729012543213

3、RotateOptions中perspective的用法Demo有吗?

根据这个示例添加perspective参数即可,

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-transformation-V5#ZH-CN_TOPIC_0000001893211777__示例

perspective属性实际上是视点到z=0平面的距离。有点类似平行于z轴的角度 rotate默认是z轴旋转,需要设置旋转参数中 x 或者y轴的参数,就可以看到效果,perspective 也没有取值范围

demo如下:

@Entry
@Component
struct TransformExample {
  build() {
    Column() {
      Row()
        .rotate({
          x: 1,
          y: 0,
          z: 0,
          centerX: '50%',
          centerY: '50%',
          angle: 300,
          perspective: 10
        }) // 组件以矢量(0,0,1)为旋转轴,绕中心点顺时针旋转300度
        .width(100).height(100).backgroundColor(0xAFEEEE)
        .margin({ top: 15 })
    }.width('100%').margin({ top: 5 })
  }
}
4、HarmonyOS 调试阶段signingConfig问题?

新建了一个项目用来测试代码,发现build-profile.json5自动生成的signingConfig提交到git后,其他设备也会把上个设备的signingConfig拉下来

  1. 目前IDE签名本来就是绑定单一的设备ID的。
  2. 你们可以在AGC上架平台上,升级调试证书,然后把所有设备的设备ID都绑定在调试证书中,之后就不需要每个IDE单独用IDE签名,直接使用AGC上架平台的调试证书。只要不是新增设备,这个调试证书可以一直使用。
5、HarmonyOS bindContextMenu中设置backgroundColor不生效?

想改变menu弹框默认的背景色,发现设置backgroundColor无效;通过更改自定义menu根布局颜色的话,又无法做到填充满Menu的边角。

修改弹出菜单颜色可参考如下实现方式:

@Entry
@Component
struct BindContextMenuTest {
  @Builder
  MsgMenuBuilder() {
    Menu() {
      MenuItem({content: "menu"})
        .contentFontColor(Color.Black)
        .backgroundColor(Color.Green)
        .labelFontColor(Color.Black)
        .padding({
          left: 15,
          right: 15,
          top: 5,
          bottom: 5
        })
    }.backgroundColor(Color.Green)
  }

  build() {
    Column() {
      Text('Long Press Text')
        .width(150)
        .height(100)
        .textAlign(TextAlign.Center)
        .margin(100)
        .fontSize(30)
        .bindContextMenu(this.MsgMenuBuilder, ResponseType.LongPress, {
          enableArrow: true,
          placement: Placement.Bottom,
          backgroundColor: "#2A2C2D",
          preview: MenuPreviewMode.IMAGE,
          previewAnimationOptions: {scale: [0.8, 1.0]}

        })
    }.width('100%').backgroundColor(Color.Pink)
  }
}

//bindContextMenu的箭头颜色无法设置,建议使用bindPopup替代bindContextMenu,并将 backgroundBlurStyle属性设为BlurStyle.NONE,可参考如下示例代码:

@Entry
@Component
struct BindPopUpTest {
  @State customPopup: boolean = false;

  @Builder popupBuilder() {
    Column({ space: 2 }) {
      Menu() {
        MenuItem({content: "menu1"})
          .backgroundColor(Color.White)
          .margin({top: 5})
          .width("100%")
        MenuItem({content: "menu2"})
          .backgroundColor(Color.White)
          .margin({top: 5})
          .width("100%")
      }
    }
    .justifyContent(FlexAlign.SpaceAround)
    .width(200)
    .height(125)
    .padding(5)
  }

  build() {
    Column() {
      Text('LongPress')
        .fontSize(28)
        .gesture(
          LongPressGesture({ repeat: true })
            .onAction((event: GestureEvent|undefined) => {
              this.customPopup = !this.customPopup;
            })
        )
        .bindPopup(this.customPopup, {
          builder: this.popupBuilder,
          placement: Placement.Bottom,
          popupColor: Color.Green,
          mask: false,
          backgroundBlurStyle: BlurStyle.NONE,
          enableArrow: true,
          onStateChange: (e) => {
            if (!e.isVisible) {
              this.customPopup = false;
            }
          }
        })
    }
    .justifyContent(FlexAlign.Center)
    .width('100%')
    .height("100%")
  }
}
相关推荐
朱小勇本勇1 小时前
Python-Pdf转Markdown
前端·python·pdf
小满zs2 小时前
React第二十章(useMemo)
前端·javascript·react.js
赵大仁2 小时前
Tailwind CSS:现代 CSS 框架的优雅之选
前端·javascript·vue.js·前端框架·css3·html5·scss
GIS学姐嘉欣2 小时前
25考研希望渺茫,工作 VS 二战,怎么选?
前端·学习·考研·gis
二川bro2 小时前
图片叠加拖拽对比展示效果实现——Vue版
前端·vue.js
russle2 小时前
android app构建时排除指定类
android·前端·chrome
愚愚是个大笨蛋2 小时前
自定义VUE指定,实现鼠标悬停显示提示面板,离开元素或面板后面板消失
前端·javascript·vue.js
CSNMD2 小时前
VueRouter之HelloWorld
前端·javascript·vue.js
Smileyqp沛沛2 小时前
gz、zip等压缩文件postman成功下载但是前端项目中下载解压失败
前端·测试工具·postman