做嵌入式和移动开发,不同的设备,不同的分辨率需要UI能够适配,这是一个很现实的问题。QML作为Qt中为UI而生的,使用QML一定要解决适配的问题。
现在同一尺寸的屏幕,其分辨率也是不同,在QML中使用 anchors 进行相对的布局时,其是以像素为单位。现在有一个概念,叫做每英寸像素数目。当设备的PPI不同时,控件的大小不同,这可能导致,如果设计是在一个尺寸小PPI低的屏幕上设计,将程序放到一个尺寸大PPI高的设备上,那么控件看上去就更小了,所以在QML中直接使用像素布局是不可取的。
一:不同的layout
只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的 layout文件在编译之后都会写入Rjava里,而系统会根据屏幕的大小自己选择合适的layout进 行使用。
二:hdpi、mdpi、ldpi
在之前的版本中,只有一个drawable,而21版本中有drawable-mdpi、drawable-ldpi、 drawable-hdpi三个,这三个主要是为了支持多分辨率。
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的。
以上就是关于QT怎么解决不同分辨率全部的内容,包括:QT怎么解决不同分辨率、怎样适应不同的屏幕尺寸,qtandroid、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)