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 布局问题
773浏览 • 1回复 待解决
HarmonyOS 播放问题
916浏览 • 1回复 待解决
HarmonyOS 相机旋转拍照问题
671浏览 • 1回复 待解决
HarmonyOS webView视频展示
438浏览 • 1回复 待解决
HarmonyOS video如何播放?
718浏览 • 1回复 待解决
HarmonyOS 如何让app支持
521浏览 • 1回复 待解决
openharmony jsFA 如何显示?
7677浏览 • 1回复 待解决
HarmonyOS 怎么设置某个 page 展示
325浏览 • 1回复 待解决
如何获取当前是还是竖啊?
5352浏览 • 1回复 待解决
如何设置屏幕方向为
1977浏览 • 1回复 待解决