2 u012131702 u012131702 于 2015.07.27 09:01 提问

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

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

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

图片说明

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

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

5个回答

Arnold9009
Arnold9009   2015.07.27 10:06
已采纳

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

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

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

CSDNXIAON
CSDNXIAON   2015.07.27 09:12

Android 自定义View(1) -- 一个小Demo
Android View 自定义属性
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

danielinbiti
danielinbiti   Ds   Rxr 2015.07.27 09:08

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

suiyunonghen
suiyunonghen   2015.07.27 09:44

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

Csdn user default icon
上传中...
上传图片
插入图片