QML 中的屏幕适配问题

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 这个框架。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值