RefreashListView(自定义ListView)

来源:互联网 发布:贵阳大数据培训班 编辑:程序博客网 时间:2024/06/05 19:46
  • 1.先写下拉刷新的头布局文件.注意,根部局必须是LinearLayout


这里写图片描述

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:orientation="horizontal"><FrameLayout    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:paddingLeft="20dp"    android:paddingRight="10dp"    android:paddingTop="10dp"    >    <ImageView        android:id="@+id/iv_arr"        android:layout_width="40dp"        android:layout_height="40dp"        android:src="@drawable/common_listview_headview_red_arrow"        android:layout_gravity="center"        />    <ProgressBar        android:id="@+id/pb_progress"        android:layout_width="40dp"        android:layout_height="40dp"        android:layout_gravity="center"        android:visibility="invisible"        /></FrameLayout>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="vertical"        android:layout_gravity="center"        android:gravity="center"        android:paddingTop="10dp"        >        <TextView            android:id="@+id/tv_title"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="下拉刷新"            android:textSize="20sp"            />        <TextView            android:id="@+id/tv_time"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="2016-7-7 15:00:00"            android:textSize="16sp"            android:paddingTop="10dp"            />    </LinearLayout></LinearLayout>
  • 自定义ListView,添加头布局
package com.itguang.dell_pc.myapplication.view;import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.widget.ListView;import com.itguang.dell_pc.myapplication.R;/** * 作者: 小光哥 on 2016/7/7. * 邮箱: 1445037803@qq.com * 修订历史: * 描述: *         ┏┓   ┏┓ *        ┏┛┻━━━┛┻┓━━━━┻┓ *        ┃       ┃ *        ┃   ━   ┃ *        ┃ >   < ┃ *        ┃       ┃ *        ┃... ⌒ ... ┃ *        ┃       ┃ *        ┗━┓   ┏━┛ *          ┃   ┃ Code is far away from bug with the animal protecting *          ┃ 史 ┃   神兽保佑,代码无bug *          ┃ 诗 ┃ *          ┃ 之 ┃ *          ┃ 宠 ┃ *          ┃   ┃ *          ┃   ┗━━━┓ *          ┃BUG天敌   ┣┓┣┓┣┓┣┓┣┓ *          ┃       ┏┛ *          ┗┓┓┏━┳┓┏┛ *           ┃┫┫ ┃┫┫ *           ┗┻┛ ┗┻┛ */public class RefreshListView extends ListView {    private View mHeaderView;    public RefreshListView(Context context) {        super(context);        initHeaderView();    }    public RefreshListView(Context context, AttributeSet attrs) {        super(context, attrs);        initHeaderView();    }    public RefreshListView(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);        initHeaderView();    }    /**     * 初始化头布局     */    private void initHeaderView() {        mHeaderView = View.inflate(getContext(), R.layout.refeeash_header, null);        this.addHeaderView(mHeaderView);        mHeaderView.measure(0, 0);//先测量再拿到它的高度        int measuredHeight = mHeaderView.getMeasuredHeight();        mHeaderView.setPadding(0, -measuredHeight, 0, 0);    }}
0 0