2011.08.18(二)——— android 自定义组合组件 onFinishInflate onSizeChanged

2011.08.18(2)——— android 自定义组合组件 onFinishInflate onSizeChanged2011.08.18(2)——— android 自定

2011.08.18(2)——— android 自定义组合组件 onFinishInflate onSizeChanged
2011.08.18(2)——— android 自定义组合组件 onFinishInflate onSizeChanged

参考:http://gundumw100.iteye.com/blog/1139214

onFinishInflate 当View中所有的子控件均被映射成xml后触发
onSizeChanged 当view的大小发生变化时触发

先看一下执行顺序 
ButtonWaveView 为自定义组合组件

setBackgroundResource(R.drawable.tabswitcher_long);

设置了背景图片 认为的改变view 这样就可以调用onSizeChanged了

2、onFinishInflate

这个里面写也是可以的 但是 有一个问题
假如说 我在Activity里面 需要设置自定义组件ButtonWaveView 的一些变量,而且这些变量(例如 width,height)是必须在addview前面调用的
我们的set方法肯定是写在onCreat里面的 但是前面我们也看到了 onFinishInflate是先于执行的  这时 我们的程序就有问题了

解决方法有两个
1、用onSizeChanged
2、用自定义属性


自定义属性

参考:http://mycoding.iteye.com/blog/1001889