一種代替LayoutInspector的UI工具

自從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的操作!

源碼地址: https://github.com/YvesCheung/UInspector

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容