关于Android的addview

在上一篇文章中提到实现线性布局和相对布局的下拉回弹效果的代码是一样的,唯一的区别只是继承的类不同,所以我想实现一个基类,在基类中去写重复的代码。但是经过一天的尝试,并没有实现。但是也收获了一些。

之前大致浏览过pullToRefresh(开源的项目,实现下拉刷新),看里面是用模板的方式将是什么布局告诉基类,然后在基类中去实现所有子类重复的工作。所以觉得可以根据这个开源项目实现自己上面想实现的效果吧。研究了之后有一些收获。

第一点:addView

 一般使用的addView方法有四个

public void addView(View child, LayoutParams params)
public void addView(View child, int width, int height)
public void addView(View child, int index)
public void addView(View child)

上面的四个方法都会调用下面的这个方法

public void addView(View child, int index, LayoutParams params) 
第二点:抽象方法的使用
pullToRefresh在基类中定义一个抽象方法,初始化时调用,然后在子类中实现不同子类的viewgroup(例如Listview),此时父类得到了这个viewgroup并添加到基类的视图中(设置为matchparent),然后重写基类的addview方法,将要添加到基类视图的一些child视图添加到在子类中实现的viewgroup中,
这篇文章就先到这里,没时间了就瞎写一点先,研究pullToRefresh中也发现了这个开源项目的一个不足之处(可能是我还不确定),等我下一篇文章就会有答案,我会继续研究印证一下自己的观点。

你可能感兴趣的:(android)