之前写了一篇文章,讲述如何修改系统自带View的属性和布局,但是后来还是有很多人提到相似的问题,
今天再来总结一遍。
之前的文章
一些经验(hook),外带一些猜想,最后实践并证实。
常见的问题与以前的答案
Q:这个第三方ui库好酷炫,但是这里和设计有点出入。
A:不能直接使用gradle 引用了。把整个库导入改吧。
Q:又要写第三方分享,明明写过了(小明还在小学吧),还要再写一遍
A:重新写呗,ui都不一样,不能直接用。
Q:这次UI大改版,这周改ui吧。
A:(吐槽下,鬼知道我经历了什么)导了那么多酷炫ui,我要怎么删,style 什么的,鬼还记得哪个要删
单个属性,资源,布局xml修改
这里以第三方库节操精选为例,虽然群主添加了自定义view的功能,但是还是有人不懂怎么操作。
修改新方式:
比如你要替换一个图片 节操项目下 drawable/jc_test.png,把准备好的图,以相同的命名放在自己项目下
相同的路径中。
run。。。图标变了。
修改布局时,请注意view 的id保持原来的样子。在制作第三方库时,也请作者加上自己的前缀,如:jc_string 。
修改动态代码
修改动态代码的关键:在自己的项目中建一个和第三方库包名一样的package, 以及你需要修改的 XXX.java。
这里不像hook,你只要hook一个方法。你需要把整个class复制后,再进行修改。
如果是大改动,希望你对这整个第三方库掌握的不错,不然不提倡大修改。
总结
1、整体的思路就是这样。资源名,id名,报错一致
2、用监测工具时,这些代码,布局是提示没有引用上的
3、看完这篇文章,希望你能掌握快速修改的能力,减少在这个问题花费太多的时间
网友评论