android - 在 Qt/QML 中,如何为不同的设备密度加载不同的图像 (Android)

标签 android qt qml qtquick2

我正在使用 Qt 5.4 和 Qt Creator 3.3.2。

加载不同的图像,取决于当前的操作系统,可以用

Image {source: "logo.png"   }

和以下资源

logo.png
+windows/logo.png
+android/logo.png
+ios/logo.png

如果我正确理解文档,添加

+ios/logo.png
+ios/logo@2x.png
+ios/logo@3x.png

将在 iOS 上根据设备密度选择不同的图像。

我可以使用类似的机制为不同的 Android dpi(ldpi、mdpi、hdpi、xhdpi 等)加载不同的图像吗?如果是这样,目录结构应该如何?

最佳答案

Image {source: "logo" + density + ".png" }

并且 density 可以是例如 S、M、L,并且您有 logoS.pnglogoM.pnglogoL .png。或者您可以使用它来指定不同的路径而不是图像名称。无论哪种方式。

您可以使用 QScreenlogicalDotsPerInch 属性并将其公开给 QML 以确定密度的值。

此外,如果图像足够大,您实际上可以只运送较大的版本并根据需要缩小它。这会更容易,而且您不会受到特定尺寸的限制。

关于android - 在 Qt/QML 中,如何为不同的设备密度加载不同的图像 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29473184/

相关文章:

android - 单击首选项项时跳转到拨号程序或任何默认的调用者应用程序

android - 如何收听 Android 输出(使用嗅探器)?

c++ - 在 qt widgets 应用程序中显示 cmd 终端

c++ - Qt 支持 C++0x 枚举类

swing - Qt 与 Swing : Similarities and Disimilarities?

c++ - 在 QML 或 C++ 上设计 UI,BB10

java - 无法更新安卓应用

java - 自动填写 webview 中的字段

android - Qt qml 显示设备联系人列表

c++ - 在 MDI 子窗口中添加 QML 文件