美文网首页
也许一个文件就能帮你提高不少开发效率

也许一个文件就能帮你提高不少开发效率

作者: ahking17 | 来源:发表于2017-08-29 12:54 被阅读104次
FetchViewIdManager.png

不知道大家在开发中, 尤其在已有项目上做二次开发时, 会不会经常碰到这种情景:
在一个页面中, 想快速定位一个view在代码中的实现位置, (例如上图中圈划出的2个ImageView在代码中的实现位置), 但layout文件比较复杂, 从变量命名上又难以找到线索, 只能慢慢把layout文件分析清楚后才能找到界面上这些元素的实现位置, 开发效率是比较低的.

今天开发了一个小模块, 可以让你10秒内定位出界面上任何view元素的layout id, 只需要点击这个元素后, 从log中就可以直接得到它的id值.

这个小模块使用起来也很简单.

  1. 导入FetchViewIdManager.java到工程中.
  2. 在Activity的onCreate()中, 加入这样一行代码, 这样HomeActivity中所有的view元素就被监测到了.
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        getWindow().getDecorView().post(new Runnable() {
            @Override
            public void run() {
                FetchViewIdManager.getInstance().hookAllViews(HomeActivity.this);
            }
        });
    }
  1. 点击任意的view元素, 从log中可以直接看到这个元素的id值.
FetchViewIdManager_logcat.png

例如: 小风车ImageView的layout id 是 "clockweather_wind_icon"

限制:
这个模块的使用前提是, view元素不管是在xml中实现的, 还是在java中生成的, 必须已设置了它的id值, 相信在大多数项目中, 95% 以上的view都有自己的id, 所以这个限制的影响并不大.

代码位置:
https://github.com/AandK/FetchViewIdManager/blob/master/FetchViewIdManager.java

----DONE.-----

相关文章

网友评论

      本文标题:也许一个文件就能帮你提高不少开发效率

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