duilib適配高分屏(高DPI適配)

高分屏(高DPI)適配

隨着PC設備高分屏的越來越普及,PC端客戶端軟件也需要適配一下高分屏幕。在沒有專門適配高分屏的情況下,普通軟件界面看起來尺寸很小,操作體驗大打折扣。Win10上微軟提供了系統級的高分屏適配,但是缺點就是適配會導致軟件上字體模糊、圖片鋸齒等。爲了提高PC軟件在高分屏上的使用體驗,需要軟件專門適配一下。

適配原理(duilib)

軟件高分屏適配原理,就是禁用系統的DPI適配,自己檢測系統DPI變化,然後等比縮放軟件界面尺寸和界面元素尺寸,主要是界面上的字體和圖片。duilib做爲一個封裝好的UI庫,提供動圖佈局支持和資源管理器支持,所以適配DPI的時候只需要把佈局計算、字體加載、圖片加載的地方做好DPI適配即可。
1、界面佈局適配:GetFixedXY、GetPadding、GetFixedWidth、GetFixedHeight、GetMinWidth等佈局計算接口;
2、圖片適配:PaintManager裏面提供重建字體的接口ReloadAllDrawInfos,重建時會重新加載TDrawInfo,TDrawInfo的Parse接口裏面判斷DPI加載對應的圖片資源;
3、字體適配:PaintManager裏面提供重建字體的接口ReloadAllFonts,在裏面可以根據DPI重建字體資源;

適配例子

duidemo例子高DPI適配

以上例子的完整源碼可以通過開源平臺下載:
github:https://www.github.com/qdtroy/DuiLib_Ultimate
碼雲:https://www.gitee.com/qdtroy/DuiLib_Ultimate

學習交流QQ羣:261851826、261675375、 199950533
有問題可以聯繫QQ:656067418或者郵件 [email protected]

發佈了26 篇原創文章 · 獲贊 6 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章