关于Android自定义View的一个问题,进来讨论一下

1.自己有时候会使用java结合xml的写法,比如写一个ActionBar
代码如下
java:
图片说明

 用了inflater来加载
 xml的布局如下:

图片说明

 2.进来我仔细想了一下,自定义的TitleBarView是LinearLayout,布局也是LinearLayout,TitleBarView添加了一个LinearLayout,那不是重复了一个布局,是嵌套了一个
 布局

 3,能有方法不嵌套吗?防止多一个LinearLayout

4个回答

在最外层用merge,让系统优化一下即可

u012131702
欧拉啊旺 我用merge发现真的少了一次,从今以后如果使用到xml布局的自定义View用merge就行了,太感激了
4 年多之前 回复
u012131702
欧拉啊旺 感觉这个答案比较中肯
4 年多之前 回复

在最外层用merge,让系统优化一下即可

1、如果是自定义的方式,肯定会有重复的情况,因为自定义布局就是一个模块,你封装得粒度到应用场景有可能过了,有可能少了。一般来说尽量完善,那一般都会是多的情况。
2、如果你针对特定场景不用,可以在xml布局中去掉linearlayout或者直接获取对应的relativelayout

自定义且动态加载,这种问题,貌似比较难避免。无论是不是Android,都差不多

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问