自從AS升級到4.x后,你的LayoutInspector會不會經常和我一樣
明明連著設備,卻檢測不到對應的進程?
檢閱速度非常慢,直到超時都沒有出畫面?
勾選Live Update后,畫面延遲成了PPT,最后放棄Live Update?
終于,我放棄了LayoutInspector,選用更輕量的Uinspector來輔助完成一些基本的ui檢查。
Uinsepctor是什么?
Uinspector
是一個集成在Android應用內的ui檢閱工具。
開啟 Uinspector
后,通過點擊屏幕上的元素來選取要檢閱的目標,彈出的面板中可以查看目標 View
的布局和屬性。
查看View的大小/邊距/基本屬性 | 定位目標所在的Activity/Fragment |
---|---|
相比起LayoutInspector有什么優勢?
1. 輕便快速
從手機的通知欄打開Inspector,直接點擊屏幕就可以看到目標屬性!
從通知欄點擊關閉即可停止檢閱,用完即走。
2. 追蹤動畫
相比起幻燈片級的“Live Update”,Uinspector
直接運行在你的應用進程中,可以通過監聽 View
的變化實時作出反饋,追蹤布局/屬性的變化,甚至是動畫。
3. 支持添加你的自定義View和自定義屬性
Uinspector
可以集成其他第三方庫,查看他們的特有屬性:
查看Glide的圖片源 | 查看Fresco的圖片源 | 查看Lottie的動畫屬性 |
---|---|---|
當圖片資源加載異常時,你可以點擊圖片地址用瀏覽器打開,快速確認是客戶端加載問題還是圖片資源本身的問題!
大部分的自定義 View
屬性都非常豐富,使用 LayoutInspector
都是無法直接查看的。
而利用 Uinspector
加上你自己的集成庫,則可以方便的支持這些屬性。第三方集成庫文檔。
甚至這個彈出面板的樣式和內容不滿足你的需求,也可以添加你自己開發的面板進去。
如何使用Uinsepctor?
只需要在項目的 build.gradle
文件中添加一句:
dependencies {
debugImplementation 'com.huya.mobile:Uinspector:1.0.5'
}
就可以了! 如果不需要自定義開發的話,無需添加任何代碼。
可選地,也可以根據需要添加一些第三方集成庫:
dependencies {
debugImplementation 'com.huya.mobile:Uinspector-optional-glide:1.0.5'
debugImplementation 'com.huya.mobile:Uinspector-optional-fresco:1.0.5'
debugImplementation 'com.huya.mobile:Uinspector-optional-lottie:1.0.5'
}
需要注意的是:
打開 Uinspector
后,依然可以正常對應用進行手勢操作,比如滑動屏幕,back鍵返回等等。
但是,單擊事件會被消費,成為選中檢閱目標的操作!
在這種模式下,可以通過雙擊來代替原來的點擊,來觸發原來onClickListener
的操作!