Android UI 驗收好幫手

wanjian發表於2019-03-13

SwissArmyKnife

SwissArmyKnife 是一款方便除錯android UI的工具。可以直接在android裝置螢幕上顯示控制元件的相關資訊,可能是你用過的最強的Android UI工具

接入方式

compile 'com.wanjian:sak-autopilot:0.4.0-beta9'

no opt 包 compile 'com.wanjian:sak-nop:0.0.3'

 開啟
 SAK.init(Application application, Config config)

 關閉
 SAK.unInstall();

複製程式碼

啟動app後會在螢幕右側看到一個 藍色靶心雙擊即可進入功能介面。

功能介面

image

拾取控制元件

開啟拾取控制元件選項後,拖動圓環到要拾取的控制元件位置即可。可以獲取字型顏色,大小,背景色等資訊(支援SpannableString)

image

編輯控制元件

開啟編輯控制元件選項後,長按需要編輯的控制元件即可彈出編輯視窗,可以修改內外邊距大小,字型顏色、大小、背景色等(該功能和相對距離、移動控制元件功能衝突,請勿同時開啟)

image
image

相對距離

開啟相對距離選項後,依次長按兩個控制元件即可顯示兩個控制元件間的水平和豎直距離,距離預設單位是dp,可以通過功能介面的單位選項切換單位(該功能和編輯控制元件、移動控制元件功能衝突,請勿同時開啟)

image

移動控制元件

開啟移動控制元件選項後,長按控制元件即可拖動,距離預設單位是dp,可以通過功能介面的單位選項切換單位(該功能和編輯控制元件、移動控制元件功能衝突,請勿同時開啟)

image

取色器

開啟取色器選項後,會在螢幕顯示 綠色圓環,可以任意拖動,螢幕下方會顯示圓環中心的顏色值

image

水平直尺,豎直直尺

開啟後會在螢幕顯示水平直尺和豎直直尺,可以任意拖動。直尺上有兩個值,一個單位是px,另一個是dp

image

Scalpel

開啟後會立體顯示view,可以直觀的檢視view的層級關係,拖動螢幕左側的按鈕可以切換角度

image

外邊距/內邊距

開啟後可以看到任意一個view的外邊距,邊距單位預設為dp,可以通過功能介面的單位選項切換單位。可以通過功能介面的層級區間過濾掉部分view,避免數值相互覆蓋

image

寬高、字型大小、字型顏色、背景色等使用方式同 外邊距/內邊距,也可以通過 單位選項和層級區間進行控制

Fragment名稱、Activity名稱

開啟後可以看到當前Activity的類名,每一個Fragment的類名。可以通過功能介面的層級區間過濾掉部分Fragment,避免Fragment名稱相互覆蓋

image

效能

開啟可以看到當前視窗view的繪製耗時,事件分發耗時,measure,layout耗時,handler耗時。(開啟後會自動禁用硬體加速,實際繪製時間可能要少一些。ListView會在事件分發時呼叫getView,所以ListView事件分發時間稍微長一些。RecyclerView會在view繪製時bindView,所以RecyclerView繪製時間會稍長一些)

image

裁剪繪製範圍

若內外邊距、寬高、字型顏色等資訊不顯示,可以關閉 裁剪繪製。開啟該功能可以避免 可以滾動的控制元件滾動後導致的資訊覆蓋。

特別注意:

當開啟新視窗時,需要手動點選一次螢幕右側的 靶心 按鈕,以此啟用當前視窗,不然當前視窗不會啟用 SwissArmyKnife!

效果視訊

t.cn/EVB3rcm

功能擴充

github.com/android-not…

Github

github.com/android-not…

相關文章