Google下拉刷新-原生源码
2015-09-09 09:46
603 查看
android 实现下拉刷新有很多开源的源码可以用 比如 :PullToRefreshListView 使用起来也很方便
现在还可以直接使用google 自带的下拉刷新效果更加炫丽。不过需要你自己更新到最新的sdk才可使用。
下面来看看刷新的效果吧:
下面来看实现:(activity_main.xml)
ListViewAdapter.java
user_center_list_item.xml
最后来看看:MainActivity.java
效果就实现了,你也来试试吧!
下载地址如下:
http://download.csdn.net/detail/hehaiminginadth/9090923
现在还可以直接使用google 自带的下拉刷新效果更加炫丽。不过需要你自己更新到最新的sdk才可使用。
下面来看看刷新的效果吧:
下面来看实现:(activity_main.xml)
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/swipe_container" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView> </android.support.v4.widget.SwipeRefreshLayout>
ListViewAdapter.java
package com.zihao.swiperefreshlayoutdemo; import java.util.ArrayList; import com.storm.swiperefreshlayoutdemo.R; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; public class ListViewAdapter extends BaseAdapter { /** 环境信息 **/ private Context context; /** 用户中心信息集合 **/ private ArrayList<SoftwareClassificationInfo> list; /** 构造方法 **/ public ListViewAdapter(Context context, ArrayList<SoftwareClassificationInfo> list) { this.context = context; this.list = list; } public int getCount() { // TODO Auto-generated method stub return list.size(); } public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } public long getItemId(int arg0) { // TODO Auto-generated method stub return 0; } public View getView(int position, View convertView, ViewGroup arg2) { _View view = null; if (convertView == null) { view = new _View(); convertView = LayoutInflater.from(context).inflate(R.layout.user_center_list_item, null); view.list_text = (TextView) convertView.findViewById(R.id.user_center_item_txt); view.list_img = (ImageView) convertView.findViewById(R.id.user_center_item_img); convertView.setTag(view); } else { view = (_View) convertView.getTag(); } view.list_text.setText(list.get(position).getCatname()); view.list_img.setBackgroundDrawable(context.getResources().getDrawable( R.drawable.tool_box_fragment_settings_icon)); return convertView; } class _View { TextView list_text; ImageView list_img; } }SoftwareClassificationInfo.java
package com.zihao.swiperefreshlayoutdemo; /** * 用户中心List列表信息 * * @author Administrator * */ public class SoftwareClassificationInfo { /** 分类编号 **/ private int cid; /** 分类名字 **/ private String catname; public int getCid() { return cid; } public void setCid(int cid) { this.cid = cid; } public String getCatname() { return catname; } public void setCatname(String catname) { this.catname = catname; } public SoftwareClassificationInfo() { // TODO Auto-generated constructor stub } public SoftwareClassificationInfo(int cid, String catname) { // TODO Auto-generated constructor stub this.cid = cid; this.catname = catname; } }
user_center_list_item.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="45.0dip" android:background="@drawable/tool_box_fragment_bg_selector" > <TextView android:id="@+id/user_center_item_txt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_centerVertical="true" android:layout_marginLeft="21.0dip" android:drawablePadding="20.0dip" android:gravity="center" android:singleLine="true" android:text="asdsa" android:textColor="#ffccccc6" android:textSize="16.0sp" android:textStyle="bold" /> <ImageView android:id="@+id/user_center_item_img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_marginLeft="10.0dip" android:contentDescription="asda" android:src="@drawable/tool_box_fragment_settings_icon" /> </RelativeLayout>
最后来看看:MainActivity.java
package com.zihao.swiperefreshlayoutdemo; import java.util.ArrayList; import com.storm.swiperefreshlayoutdemo.R; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout; import android.widget.ListView; public class MainActivity extends Activity implements SwipeRefreshLayout.OnRefreshListener { private SwipeRefreshLayout swipeLayout; private ListView listView; private ListViewAdapter adapter; private ArrayList<SoftwareClassificationInfo> list; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); swipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container); swipeLayout.setOnRefreshListener(this); swipeLayout.setColorScheme(android.R.color.holo_blue_bright, android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light); list = new ArrayList<SoftwareClassificationInfo>(); list.add(new SoftwareClassificationInfo(1, "asdas")); listView = (ListView) findViewById(R.id.list); adapter = new ListViewAdapter(this, list); listView.setAdapter(adapter); } public void onRefresh() { new Handler().postDelayed(new Runnable() { public void run() { swipeLayout.setRefreshing(false); list.add(new SoftwareClassificationInfo(2, "ass")); adapter.notifyDataSetChanged(); } }, 1000); } }
效果就实现了,你也来试试吧!
下载地址如下:
http://download.csdn.net/detail/hehaiminginadth/9090923
相关文章推荐
- Algorithms—81.Search in Rotated Sorted Array II
- go 解析XML 设置缺省att的默认值
- Lintcode - Max points on a line
- UVA11054_Wine trading in Gergovia
- 第一课 GoC简介和演示
- google 搜索技巧
- leetcode: (206) Reverse Linked List
- hdu 4722 good numbers
- Django中因south导致Syncdb命令无法建立表的问题
- django 1.8 官方文档翻译: 2-5-7 自定义查找
- mongo如何查看性能 debug
- 【Google内推】2016校园招聘
- 【英语】Bingo口语笔记(73) - 以tly,tely结尾的误读
- 【英语】Bingo口语笔记(72) - play系列
- Django 之 下载文件
- django02_01 CMDB
- 当用DJANGO的migrate不成功时。。。。
- HDU 3683 Gomoku(五子棋判断结果,模拟题)
- Algorithms—133.Balanced Binary Tree
- 【leetcode】Majority Element II,Majority element algorithm