HarmonyOS Canvas横屏后定位问题

使用如下代码:

Canvas(this.context2D)
  .backgroundColor(Color.Transparent)
  .onReady(() => {
    this.context2D.fillStyle = Color.Red
    this.context2D.fillRect(0,0,20, 20)
  })

竖屏在左上角(0,0)位置出现红色方块,但是横屏情况下左上角(0,0)并未出现红色方块,效果如下图。想咨询横屏后Canvas画布位置的起始在哪

HarmonyOS Canvas横屏后定位问题 -鸿蒙开发者社区

HarmonyOS Canvas横屏后定位问题 -鸿蒙开发者社区

HarmonyOS
2025-01-09 15:04:33
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

示例参考如下:

Canvas根据父节点布局测算的,可以给Canvas设置height和width,也可使用layoutWeight占满

@Entry
@Component
struct Index {
  private settings: RenderingContextSettings = new RenderingContextSettings(true)
  private context2D: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)

  build() {
    Column() {
      Text("Title")
        .height(40)
        .width('100%')
        .textAlign(TextAlign.Center)
      Canvas(this.context2D)
        .backgroundColor(Color.Transparent)
        .layoutWeight(1)
        .onReady(() => {
          this.context2D.fillStyle = Color.Red
          this.context2D.fillRect(0, 0, this.context2D.width, this.context2D.height)
          this.context2D.clearRect(10, 10, this.context2D.width - 20, this.context2D.height - 20)
        })
    }
    .width('100%').height('100%')
  }
}
分享
微博
QQ
微信
回复
2025-01-09 17:41:51
相关问题
HarmonyOS 布局问题
1762浏览 • 1回复 待解决
HarmonyOS 播放问题
2448浏览 • 1回复 待解决
Web如何实现全屏
412浏览 • 0回复 待解决
HarmonyOS 相机旋转拍照问题
1343浏览 • 1回复 待解决
HarmonyOS 查询当前状态是还是竖
1812浏览 • 1回复 待解决
HarmonyOS 如何让app支持
1778浏览 • 1回复 待解决
openharmony jsFA 如何显示?
8516浏览 • 1回复 待解决
HarmonyOS 怎么设置某个 page 展示
916浏览 • 1回复 待解决
如何获取当前是还是竖啊?
6201浏览 • 1回复 待解决
HarmonyOS video如何播放?
1308浏览 • 1回复 待解决
HarmonyOS webView视频展示
1094浏览 • 1回复 待解决
HarmonyOS canvas画图问题
872浏览 • 1回复 待解决
应用如何适配华为悬浮窗?
3752浏览 • 1回复 待解决