美文网首页composeAndroid开发经验谈Android开发
同事用Compose写的Ui,怎么找代码在哪里?

同事用Compose写的Ui,怎么找代码在哪里?

作者: 路人宇 | 来源:发表于2021-12-13 13:59 被阅读0次

    一个阳光明媚的早晨,有个产品需求从天而降,说要在这个弹窗上加个文案:

    当然这个页面过分简单,只是举了个Demo

    即然要接盘别人写的代码,首先,就得根据UI把对应的代码找出来。再品一品。

    但是!!!

    这个弹窗是写在哪里了呢?

    最快的方法,就是群里找同事问问:

    “谁见过这个代码[通常还带一个狗头] ?”

    然后答案就来了~

    但是!!!

    万一这段陈年老码,已经隐世多年,无人知晓了呢?

    只能使出搜索大法,看看Ui附近都出现了哪些字符串,赶紧全局搜一搜

    终于搜到了,才下眉头,却上心头。

    居然只是个资源id,还要顺藤摸瓜地找上去。

    但是!!!

    万一根本搜不到呢?这个弹窗居然是张可配的图片!

    遇到是非固定文本的Ui怎么办呢?

    甚至想看Dialog有多少个引用的心都有了?

    不怕!!!

    说时迟,那时快,果断打开了一个找代码神器:

    只要手指点击屏幕上要找的元素,面板上就会出现Ui的层级以及对应的代码位置

    好家伙,果然是个图片[狗头]~

    这里看到 Image 所在的位置是 DemoDialogFragment.kt 的57行~

    在IDE里面打开看看:

    成功的找到了Ui对应的代码! 接下来就可以磨刀霍霍了。

    有了这个工具,再也不怕老板问我今天干了啥,

    我只能说正在深入了解业务体系,并做好充分的心理建设,顺便熟悉下代码。

    回想起当年接入这个工具的时候,就只需要在 build.gradle 中声明:

    dependencies { //在mavenCentral
        debugImplementation "io.github.yvescheung:Uinspector:2.0.10"
        // 如果有用Jetpack compose,要加这个
        debugImplementation "io.github.yvescheung:Uinspector-optional-compose:2.0.10"
        // 如果要支持 Glide 等额外的属性,要加这个
        debugImplementation "io.github.yvescheung:Uinspector-optional-glide:2.0.10"
        // 还有其他一些扩展库,可以在github上面查看... 
    }
    

    然后就完事了!不需要写任何代码,就可以在通知栏中开启这个工具!

    除了 Jetpack compose 以外,普通的 Android View 也可以用它来找所在的Fragment

    如果对实现原理有兴趣的话,就到github上看看吧。

    一个阳关明媚的早晨,要开始去写弹窗了。告辞。

    相关文章

      网友评论

        本文标题:同事用Compose写的Ui,怎么找代码在哪里?

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