Android dp方式的螢幕適配工具使用(Android Studio外掛方式)
最新最全文章(2018-08-25):https://blog.csdn.net/fesdgasdgasdg/article/details/82054971
dp方式螢幕適配原理請看:http://blog.csdn.net/fesdgasdgasdg/article/details/52325590
http://download.csdn.net/download/fesdgasdgasdg/9913744
bat批處理檔案的使用方式請看:http://blog.csdn.net/fesdgasdgasdg/article/details/78107653
外掛原始碼請看:https://github.com/mengzhinan/ScreenMatch
為了使用方便,我把雙擊bat的方式改成了在Android Studio中的專案上右鍵彈出選單的方式。選擇選單即可完成所有的工作,原理和bat方式一樣。
使用步驟如下:
1、下載安裝。
點選Browse repositories...去搜尋安裝,安裝好後即可看到ScreenMatch外掛,右側有描述資訊和相關連線。
2、調起選單。
安裝好後,在專案的任意目錄或檔案上右擊選單(或按快捷鍵),即可看到ScreenMatch選項。
3、選擇在哪個module下執行適配。
即基於哪個module下的res/values/dimens.xml檔案作為基準dimens檔案,生成的其他尺寸dimens檔案放在哪個module下。
選擇一個,點選確定。
如果無誤,則會有成功提示,如上圖。完成了,使用就這麼簡單。
4、提供預設dimens檔案樣例。
在專案的根目錄提供了一個預設的dimens.xml檔案樣例,怕你不知道怎麼寫,或者懶。如果不需要,可以刪除。在後面講到的配置檔案中可以配置是否生成。
5、生成配置檔案。
生成了配置檔案,如果刪除了或者沒有建立,則所有的適配都是用預設值,預設值請看原始碼。
6、配置檔案詳解。
#
# 手機widthDP基準值,一般都是360dp,不建議更改,除非你對螢幕適配原理有深刻的見解。否則不給是或者給360,程式內的預設值為360
base_dp=360
# 你還有哪些widthDP值需要適配,多個值以英文逗號分隔。如果算出來的widthDP值有小數,取整。比喻411.948,則取411
# 系統預設適配的widthDP值為: 384,392,400,410,411,480,533,592,600,640,662,720,768,800,811,820,960,961,1024,1280,1365
match_dp=
# 如果你覺得系統預設適配的某些值不想要,就在此設定,下次適配時會忽略這些值。多個值以英文逗號分隔。
ignore_dp=
# 專案根目錄中哪些目錄不是module或者你不想讓他在Dalog中顯示,就在此設定。多個值以英文逗號分隔。
# 系統預設忽略了這些目錄: .gradle,gradle,.idea,build,.git
ignore_module_name=
# 請設定預設處理和存放dimes適配檔案的module。
# 如果你後面設定了不彈出Dialog,則適配時系統預設取這個module路徑處理適配操作。
match_module=app
# 是否不彈出適配時的選擇對話方塊,使用上面的match_module預設值。
# 此處賦值為 true 或者 false,預設值為false,即彈出對話方塊。
not_show_dialog=false
# 是否不再生成專案根目錄預設的dimens樣例檔案?怕你不會寫,所以我給你生成了
# 此處賦值為 true 或者 false,預設為false,即生成。
not_create_default_dimens=false
# 是否同時適配sp字型。因為我怕字型也跟著xxxdp/360dp這樣的比例縮放不準確。
# 此處賦值為 true 或者 false,預設值為true,即sp和dp一樣,都等比縮放。此處待研究和驗證。
is_match_font_sp=true
//===以下更新===============================================================
# 關於生成的dimens.xml適配資料夾,你是想用values-wXXXdp 還是 values-swXXXdp 格式?
# 通過對官網文件的查閱,sw意思是smallest width dp的含義,即始終使用最小寬度 dp 值。
# 這樣做的好處是,可以解決手機橫豎屏切換時到處的意想不到的bug出現,即某些view的寬高尺寸會放大一倍。
# 比喻:你手機的widthDP=360dp,heightDP=640dp。
# 如果豎屏時手機尋找values-w360dp或values下預設的360dp的dimens.xml檔案值;
# 如果旋轉手機為橫屏模式,手機會尋找values-w640dp目錄中的dimens.xml檔案值;
# 故,導致UI發生變化了。
# sw即表示無論是橫屏還是豎屏,手機系統都會使用最小width dp值;
# 即上例中,橫豎屏時都使用values-sw360dp或values下預設的360dp的dimens.xml檔案值。
# 下面配置項的值如果為false,則表示你只想生成values-wXXXdp格式,如果你的app不涉及到頁面橫屏。
# 不給值或值為true,表示生成values-swXXXdp格式。
# 預設值為true。
create_values_sw_folder=true
如果你發現你的專案裡面的screenMatch.properties配置檔案中沒有上述某些值,
則請刪除你的配置檔案,右鍵專案執行一遍外掛,則會再次生成最新的配置。
關於預設的dimens.xml檔案內容的問題。這些基礎dimen項,難道自己手寫?
我早已經給你們提供了模板檔案,在你專案的根目錄,
與screenMatch.properties配置檔案並列的screenMatch_example_dimens.xml檔案。
你可以把此screenMatch_example_dimens.xml模板檔案更名為dimens.xml複製到....src/main/res/values下,
或者更新已有的....src/main/res/values/dimens.xml檔案內容。
相關文章
- Android 螢幕適配工具類Android
- android 螢幕適配一:通過自定義View的方式實現適配AndroidView
- android 螢幕適配Android
- Android 螢幕適配從未如斯簡單(已廢棄該使用方式)Android
- Android螢幕適配dp、px兩套解決辦法Android
- android螢幕適配的問題Android
- Android 主流螢幕以及適配Android
- android螢幕適配詳解Android
- Android 螢幕適配終結者Android
- Android開發之螢幕適配Android
- Android 螢幕適配最佳實踐Android
- Flutter螢幕適配,簡單粗暴的全域性適配方式Flutter
- android螢幕適配三:通過畫素密度適配Android
- Android螢幕適配(理論適配100%機型)Android
- android 今日頭條的螢幕適配理解Android
- Android螢幕適配總結和思考Android
- Android技能樹 — 螢幕適配小結Android
- 小豬淺談Android螢幕適配Android
- Android螢幕截圖方式總結Android
- Android螢幕適配前先了解這些Android
- Android最全螢幕適配的幾個重要概念(三)Android
- flutter螢幕適配 ,一種一勞永逸的全域性適配方式Flutter
- Android適配:DP簡述Android
- Android 螢幕適配:最全面的解決方案Android
- Android 適配多種ROM的快捷方式Android
- Android 適配多種 ROM 的快捷方式Android
- android 螢幕適配二:手寫百分比佈局適配Android
- Android三種方式擷取任意介面螢幕Android
- Flutter螢幕適配Flutter
- UIWebView 適配螢幕UIWebView
- Android外掛化的相容性(上):Android O的適配Android
- Android外掛化的相容性(中):Android P的適配Android
- android螢幕適配方法Android
- Android螢幕適配方案Android
- Android 螢幕適配方案Android
- Android 螢幕自適應Android
- Android AutoLayout 全新的適配方式,堪稱適配終結者Android
- 移動APP測試-Android螢幕適配問題(一)APPAndroid