ScreenMatch适配方案和PxCook配合使用踩坑记录
首先聲明:我會踩坑,是因為我對Android屏幕適配和PxCook使用了解的不到位,并不是說他們本身存在什么問題。。。
先說說PxCook(像素大廚),真是個好東西,UI設計師給到開發人員的設計圖,都是px值標注,而使用PxCook可以自動將px轉成Android開發適用的dp值,并且可以切換不同dpi查看對應的dp值。
關于ScreenMatch,關于他的用法,網上已經有很多介紹了,我就不再多少,接下來,主要說說他們兩個如何配合使用;
?
在ScreenMatch配置文件中,需要填寫base_dp(基準值)、match_dp(需要適配的值)、ignore_dp(不需要適配的值)、、、
當時就讓我很懵逼,base_dp到底應該填多少,設計圖支持這么多種尺寸(mdpi、hdpi、xhdpi、、、)。
?
重點建議1:設計圖只需要選擇一種dpi就可以,然后右邊就會自動計算出UI圖的對應寬高dp值,
重點建議2:ScreenMatch? 最小寬度適配符,選擇寬和高中最小的尺寸:例:1280dp×720dp,選擇720dp,不管是橫屏設備還是豎屏設備都要選擇寬高最小值。
重點建議3:將選好的最小dp值填入base_dp,之后就根據這個尺寸下的UI圖標注的dp值編寫界面。
然后將想要適配的屏幕對應的最小寬度dp填入match_dp中。
特定設備屏幕適配:需要自己去計算需要適配的最小限度符大小,
使用adb 命令:
adb shell wm density? ?獲取設備屏幕density值 (例:240)
adb shell wm size? ? ?獲取屏幕分辨率? ?(例1920×1080)
計算? ? sw = 1080 /(240/160)= 720? ? ?至于為什么除160? ?自己查一哈?
所以將720填入match_dp中。
?
AS有UI預覽功能,但是我在開發TV界面時,發現預覽只能選擇1080p Xhdpi? ?和 720p tvdpi兩種,總是預覽界面與顯示不匹配,原因是? 我沒有適配 xhdpi尺寸,xhdpi對應的最小限定符值為 540dp。當生成value-sw540dp資源文件時,預覽界面與實際運行的效果相差無幾。
重點建議4: 一旦選定base_dp值后,不要再去切換PxCook的dpi。
?
之后,pxCook顯示多少dp值,xml就使用多少dp值,運行后 系統會自動根據設備的density值選擇合適的value資源文件。
總結
以上是生活随笔為你收集整理的ScreenMatch适配方案和PxCook配合使用踩坑记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 贵州省电子计算机学校,贵州省电子工业学校
- 下一篇: AI on Android:安卓平台上的