关于Android自定义View的一个问题,进来讨论一下
问题描述:
1.自己有时候会使用java结合xml的写法,比如写一个ActionBar
代码如下
java:
用了inflater来加载
xml的布局如下:
2.进来我仔细想了一下,自定义的TitleBarView是LinearLayout,布局也是LinearLayout,TitleBarView添加了一个LinearLayout,那不是重复了一个布局,是嵌套了一个
布局
3,能有方法不嵌套吗?防止多一个LinearLayout
答
在最外层用merge,让系统优化一下即可
答
1、如果是自定义的方式,肯定会有重复的情况,因为自定义布局就是一个模块,你封装得粒度到应用场景有可能过了,有可能少了。一般来说尽量完善,那一般都会是多的情况。
2、如果你针对特定场景不用,可以在xml布局中去掉linearlayout或者直接获取对应的relativelayout
答
自定义且动态加载,这种问题,貌似比较难避免。无论是不是Android,都差不多
答
在最外层用merge,让系统优化一下即可