[英]Use Holo theme in Qt Android application
我有一個Qt Android應用程序,我想將其主題設置為Holo(即黑暗變體,而不是Holo Light)。 這里是Holo Dark主題(左)和我的應用程序現在的樣子(右)之間的比較:
我正在使用Qt 5.2.0,而且我正在使用Qt / C ++(即不是QML),但我對任何有效的方式感興趣,無論Qt版本還是QML或C ++。
編輯:我知道使用Ministro,它會使用“原生”主題為所有小部件創建pixmaps,但是可以告訴Ministro使用哪個主題嗎?
編輯: Holo Dark現在可以通過在AndroidManifest.xml android:theme="@android:style/Theme.Holo"
到<application>
來選擇Qt 5.4。
這適用於Qt 5.4,但不適用於Qt 5.2,使用Qt 5.2,無論你在清單中為android:theme
指定什么,主題始終是手機的默認主題。
所以在AndroidManifest.xml中,找到<application>
節點,並將其更改為:
<application android:theme="@android:style/Theme.Holo" ...
目前QtQuickControls暫時無法使用,盡管它為QtWidgets帶到了Qt 5.2。
前者在BogDan的TODO列表中為5.3。 有關詳細信息,請訪問
在這里,您可以從我朋友的系統中找到幾個屏幕截圖。
使用Ministro你的應用程序獲得對Ministro應用程序的依賴。 我認為這是一個缺點,因為額外的依賴性將導致應用程序在啟動時檢查是否在設備上安裝了Ministro是或否。 如果未安裝,則用戶必須通過Android Play商店安裝它。
而不是使用Ministro我會設置一個自定義樣式表來設想holo主題。
QApplication::setStyleSheet(const QString & sheet)
有上GIT的倉庫在這里 ,模仿各種Android的主題。 不應該將holo .css文件很難適應Qt樣式表(.qss)文件。
根據Google Style指南 ,您需要將其設置為AndroidManifest.xml:
要為應用程序的所有活動設置主題,請打開AndroidManifest.xml文件並編輯標記以包含帶有樣式名稱的android:theme屬性。 例如:
<application android:theme="@android:style/Theme.Holo"/>
如果你想要燈光主題(默認的是黑暗主題),你必須改為:
<application android:theme="@android:style/Theme.Holo.Light"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.