引用的文章:http://blog.csdn.net/superharder/article/details/40818019
http://blog.csdn.net/psh24053/article/details/7517029
一、 想想我们需要自定义哪些属性。
在res/values/attrs.xml 文件中写自定义的属性
二、在布局文件中,需要包名.控件名,才可以使用这个控件,使用自定义的属性,需要声明命名控件,不在是android:xxx。
三、获取属性值对View初始化
一、ScrollView嵌套ListView的滑动冲突问题
方法一:ListView在布局文件中高度,不管是match_parent,wrap_content,就会显示成一行。如果ScrollView中内容一屏显示不了,和Listview的滚动发生冲突,会出现ListView无法滚动。为什么呢?滑动事件不知道交给哪个处理,默认ScrollView拦截了滑动事件,所以造成了ListView不会滑动的现象。怎么解除滑动方向一致的冲突呢?有两种解决方法:1.外部拦截法,2.内部拦截法。对于这种情况推荐方法1,处理比较简单。
根据在ListView那块区域点击事件我们来区分让那一个控件来滑动,事件类型为move,down时,告诉父容器不能拦截事件。我们可以通过父容器的一个方法requestDisallowInterceptTouchEvent方法来屏蔽父容器的拦截功能。
方法二:自定义一个继承ListView的类,在onMeasure方法中,给出高度,一般这个值Intenger.MAX_VALUE >>2 .在运行出是什么样的,一个展开的ListView,数据全部显示出来。