美文网首页Android进阶之路优秀的布局
丢弃LayoutInspector,换个方式看UI

丢弃LayoutInspector,换个方式看UI

作者: Android开发架构师 | 来源:发表于2021-01-14 21:03 被阅读0次

    好文推荐:
    作者: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的动画属性
    Inspect Glide Inspect Fresco Inspect 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吧!

    相关文章

      网友评论

        本文标题:丢弃LayoutInspector,换个方式看UI

        本文链接:https://www.haomeiwen.com/subject/shrvaktx.html