您的位置:首页 > 其它

QML 中的屏幕适配问题

2016-04-25 12:50 260 查看

QML 中的屏幕适配问题

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

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

import QtQuick.Window 2.0
import QtQuick 2.5

Item {
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 这个框架。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: