Android上的QML Canvas,定位问题

Android上的QML Canvas,定位问题,第1张

概述我是QML的新手(在Android上),请原谅我,如果这是一件微不足道的事情.我正在尝试使用Canvas对象来绘制一些自定义图形等.但是我不能让它在改变屏幕方向时表现得很好.如果我以纵向方向启动我的应用程序,它看起来不错,直到我切换到横向.如果我开始它的风景也一样.一切都好,直到我去画像

我是QML的新手(在Android上),请原谅我,如果这是一件微不足道的事情.我正在尝试使用Canvas对象来绘制一些自定义图形等.但是我不能让它在改变屏幕方向时表现得很好.如果我以纵向方向启动我的应用程序,它看起来不错,直到我切换到横向.如果我开始它的风景也一样.一切都好,直到我去画像.我该如何解决这个问题?这是一个简单的测试,我遇到了麻烦:

import QtQuick 2.2import QtQuick.Window 2.1Window {    visible: true    visibility: Window.FullScreen    Rectangle {        anchors.fill: parent        color: "red"        Canvas {            anchors.fill: parent            onPaint: {                var ctx = getContext("2d")                ctx.fillStyle = "blue"                ctx.fillRect(0, 0, wIDth, height)            }        }    }}

这是发生了什么.如果我启动上面的应用程序肖像,它会在屏幕上填充红色背景矩形和顶部的蓝色画布(我实际上可以看到它绘制两者).当我去景观时,这就是我最终的结果.

画布不再填满整个屏幕.它似乎现在是一个完美的正方形,并且右侧剪掉(它没有拉伸.如果有更多内容,你会看到这个).如果我开始横向和去画像,会发生类似的事情:

解决方法:

回答我自己的问题作为可能的解决方案之一.看起来我的原始代码中的“anchors.fill:parent”行默认情况下不会更新相应级别中的wIDth和height属性.以下代码似乎摆脱了这个问题:

import QtQuick 2.2import QtQuick.Window 2.1Window {    ID: root    wIDth: Screen.wIDth    height: Screen.height    visible: true    visibility: Window.FullScreen    Rectangle {        anchors.fill: parent        wIDth: parent.wIDth        height: parent.height        color: "red"        Canvas {            anchors.fill: parent            wIDth: parent.wIDth            height: parent.height            onPaint: {                var ctx = getContext("2d")                ctx.fillStyle = "blue"                ctx.fillRect(0, 0, wIDth, height)            }        }    }}
总结

以上是内存溢出为你收集整理的Android上的QML Canvas,定位问题全部内容,希望文章能够帮你解决Android上的QML Canvas,定位问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存