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

时间: 2024-10-25 18:33:28

QML 中的屏幕适配问题的相关文章

iOS设计中不同屏幕适配的方法-登陆界面

在iOS的手机界面设计中,由于不同手机类型的手机的尺寸不同,那么在设计手机界面时就得对屏幕进行适配,这里就以登陆界面的设计为例简单说明下 实现屏幕适配的方法:(屏幕自动适配缩放) 效果: 下面就看下代码实现的过程: 1.在代理中实现的代码: AppDelegate.h // 登陆界面设计 #import <UIKit/UIKit.h> #define ScreenHeight [[UIScreen mainScreen]bounds].size.height//屏幕高度 #define Scr

iOS中的屏幕适配之Autolayout(初级)

这是第二篇博客啦啦啦,来来来,嗨起来,今天我们要说的时iOS的屏幕适配,随着APPLE推出的手机越来越多,屏幕的尺寸也越来越多,而屏幕的适配确是相当的麻烦,今天我要说的,网上也许早就有了,我只是说出自己的理解(可能不对啊,勿喷....) Autolayout其实就是约束了,今天讲得是代码添加约束,用到的第三方是Masonry,相信代码写约束的都知道这个第三方库,好了,废话不多说,代码搞起 首先你要去下载个Masonry,或者用cocoapods加到工程中,先来个简单点得例子啊,下面请重点看注释啊

【Unity笔记】UGUI中Canvas屏幕适配

1.通过RectTransform中的Anchors和Pivot来进行控件和窗体的布局适配. Anchors控制当前Panel相对于父窗体的布局位置,可以设置为居中或者左上角,当父窗体拉伸的时候当前Panel可以自动布局到正确位置.同时这里可以设置拉伸,比如主界面一般是全屏拉伸的,这种情况可以在这里处理. Pivot是当前控件坐标系的锚点位置,通过代码调整坐标位置的时候需要注意这个的设置. 2.通过CanvasScaler的设置来进行多分辨率适配.UiScaleMode一般选择Scale Wit

phaser小游戏框架学习中的屏幕适配

这篇博客主要讲一下上一篇博客的右侧和底部出现的问题.就是页面会有偏移量.说一下这个产生的原因吧. 一开始在构建html页面的时候,习惯性的在页面中加了 <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"> 加了这个,导致canvas画出的图在移动端上有些模糊,尤其是后面我们在画

Andriod中的屏幕适配

mm : millmeters , 毫米 , 关于屏幕的物理尺寸. in : inches , 英寸 , 关于屏幕的物理尺寸. pt : points , 一个标准单位,大小为一英寸屏幕大小的1/72. dpi : dots per inch , 每英寸点数,是一个计量单位,指每一英寸长度中,取样.可显示的=或输出点的数目. px : pixel , 即像素,1px代表屏幕上的一个物理的像素点.1920×720:指的是屏幕分辨率,分辨率(Resolution),指的是设备屏幕横向和纵向的像素个数

关于Unity中的屏幕适配

Game视图的屏幕分辨率可以先自定义添加,供以后选择,以下是手游经常用到的分辨率: 1.1136X640,iPhone5 2.1920X1080,横屏 3.1080X1920,竖屏 4.960X640,横屏iPhone4 5.640X960,竖屏iPhone 6.768X1024,ipad 7.800X480 8.480X800 创建一个Canvas节点 Render Mode选择为Screen Space(Overlay)

Android 开发中的屏幕适配技术详解

[转]Android中dp,px,sp概念梳理以及如何做到屏幕适配

http://blog.csdn.net/jiangwei0910410003/article/details/40509571 今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI很少,刚开始做Android应用的时候,没有对dp,px,sp等概念有一个深入的了解,只知道他们之间的转化,还有写个转换工具类等.做Android已经有一年多了,现在再次开始App开发,决定没遇到一个概念,必须得弄透彻.好吧,下面进入主题吧: 首先来看一下他们的基本概念: px   :是屏幕的像素点

cocos2dx屏幕适配方案

我们在利用cocos2dx来开发游戏时,在开始时就不可避免的会遇到屏幕适配问题,来使我们的游戏适应移动终端的各种分辨率大小.目前,大家采用的屏幕适配方案不一,网上的资料也比较丰富,下面我也将自己使用的方案做下记录.由于我的Mac系统下只有一个分辨率的虚拟机,所以这次使用的是VS2010,使用的是cocos2dx2.2.2版本. 我这里采用的方案是为不同分辨率的屏幕设置不同资源目录的方案,根据我们的需求需要准备多套资源,但是由于部分分辨率较为接近,所以也不必为所有分辨率都去单独准备资源,可以几种分