QML 中的屏幕适配问题

来源:互联网 发布:人工智能股票有哪些 编辑:程序博客网 时间:2024/06/06 13:10

QML 中的屏幕适配问题

其实 QML 中的屏幕适配问题,官方也写了一篇文章,如何在不同分辨率下适配控件大小和图片大小(字体好像没有讲到)。虽然文章条理清晰,原理,案例都写得不错,但是总觉得缺点什么。对,就是代码,具体实现的代码。从头到尾,原理阐述清晰,唯独就是不写出具体的代码实现。

有人说,具体的代码实现可能很复杂。倒不至于,这里给出一段最简单的使用纯 QML 实现的 dp,至于 dpi 什么,管它呢。

import QtQuick.Window 2.0import QtQuick 2.5Item {    property real dpScale:  1.5    readonly property real dp: Math.max(Screen.pixelDensity * 25.4 / 160 * dpScale, 1)}

代码来源

注意:dpScale 可以自行修改。上诉代码仅仅是接近 dp 具体意义。此外 dpi 的取值在另一篇博客提及。

上诉代码在我的 windows 7,屏幕 1080p 23.8 寸,安卓 魅蓝 note 2 上,显示效果不错,测试的代码是:

Button {    implicitWidth: 88 * dp    implicitHeight: 48 * dp}

这个按钮大小适中。

至于字体适配,那是另外的话题了,字体适配是使用 font.pointSize 进行处理,至于字体大小单位 sp 的代码?

对不起,无(我)可(不)奉(知)告(道)。

另外强烈推荐商业化 app 使用 v-play 这个框架。

1 0