丟棄LayoutInspector,換個方式看UI

好文推薦:
作者:YvesCheung
轉載地址:https://juejin.cn/post/6916779129798934536

自從AS升級到4.x後,你的LayoutInspector會不會經常和我一樣

明明連着設備,卻檢測不到對應的進程?

檢閱速度非常慢,直到超時都沒有出畫面?

勾選Live Update後,畫面延遲成了PPT,最後放棄Live Update?

終於,我放棄了LayoutInspector,選用更輕量的Uinspector

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

如果還想了解更多Android 相關的更多知識點,可以點進我的GitHub項目中:https://github.com/733gh/GH-Android-Review-master自行查看,裏面記錄了許多的Android 知識點。

持續更新--請Android的小夥伴關注! 喜歡的話給一個贊Star吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章