RefreashListView(自定义ListView)
2016-07-25 11:00
344 查看
1.先写下拉刷新的头布局文件.注意,根部局必须是LinearLayout
自定义ListView,添加头布局
<?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); } }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories