在开发中,总会遇到一些布局的不满足,需要自定义布局,然后显示,比如一些特别的时间,例如下拉刷新,这就需要自定义布局,自定义layout布局:
public class RefreshCollection extends LinearLayout {
<span style="white-space:pre"> </span>private LayoutInflater layoutInflater;
<span style="white-space:pre"> </span>private View refreshView;
public RefreshCollection(Context context, AttributeSet attrs) { //构造方法必须实现
super(context, attrs);
layoutInflater = LayoutInflater.from(context);
refreshView = layoutInflater.inflate(R.layout.pull_top,null);
maxHight = ViewConfiguration.get(context).getScaledDoubleTapSlop();
setOrientation(VERTICAL);//设置地定义布局的排版方式
addView(refreshView);//将refreshView添加到已有的布局中
}
在xml中的引用:
<com.pull4test.RefreshCollection
android:id="@+id/refresh_collection"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/refresh_list_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</com.pull4test.RefreshCollection>
这样就实现了layout的自定义布局,还有其他的属性就和在layout文件中添加是一样的,上面是线性布局的自定义