Material Design之SwipeRefreshLayout
2016-05-04 11:43
495 查看
http://image.uisdc.com/wp-content/uploads/2014/12/b-16.gif
https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html
https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html
" data-snippet-id="ext.4f852505688287bbea8a4edc59f83eaf" data-snippet-saved="false" data-codota-status="done">[code]<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/swiperefresh" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v4.widget.SwipeRefreshLayout>
mDatas = new ArrayList(); @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_swipe_refresh_layout); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); mSwipeLayout = (SwipeRefreshLayout) findViewById(R.id.swiperefresh); //设置下拉圆圈上的颜色 mSwipeLayout.setColorSchemeResources(android.R.color.holo_blue_light, android.R.color.holo_green_dark, android.R.color.holo_orange_dark, android.R.color.holo_red_dark); // mSwipeLayout.setColorSchemeColors(Color.BLUE, Color.GREEN, Color.YELLOW, Color.RED); // mSwipeLayout.setDistanceToTriggerSync(500); // 设置手指在屏幕下拉多少距离(dip)会触发下拉刷新 // mSwipeLayout.setProgressViewOffset(); // mSwipeLayout.setProgressBackgroundColorSchemeResource(android.R.color.holo_blue_dark); // 设定下拉圆圈的背景 // mSwipeLayout.setProgressBackgroundColorSchemeColor(Color.GREEN); // mSwipeLayout.setProgressViewEndTarget(); // mSwipeLayout.setNestedScrollingEnabled(true); // mSwipeLayout.setSize(SwipeRefreshLayout.LARGE); // 设置圆圈的大小 mListView = (ListView) findViewById(R.id.list); mDatas = Cheeses.randomList(15); mAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, mDatas); mListView.setAdapter(mAdapter); mListView.setOnScrollListener(this); mSwipeLayout.setOnRefreshListener(this); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { finish(); return true; } return super.onOptionsItemSelected(item); } @Override public void onRefresh() { mDatas.clear(); mDatas = Cheeses.randomList(15); mAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, mDatas); mListView.setAdapter(mAdapter); // 停止刷新 mSwipeLayout.setRefreshing(false); } @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // 当不滚动时 if (scrollState == SCROLL_STATE_IDLE) { // 判断是否滚动到底部 if (view.getLastVisiblePosition() == view.getCount() - 1) { // 加载更多功能的代码 mDatas.addAll(Cheeses.randomList(15)); mAdapter.notifyDataSetChanged(); } } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } } " data-snippet-id="ext.563b3669234bfab8c0dcf0e2ce54131b" data-snippet-saved="false" data-codota-status="done">[code]package com.leigo.myapplication; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.MenuItem; import android.widget.AbsListView; import android.widget.ArrayAdapter; import android.widget.ListView; import java.util.ArrayList; /** * Created by GL on 2016/4/26. */ public class SwipeRefreshLayoutDemo extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener, AbsListView.OnScrollListener { private static final String TAG = SwipeRefreshLayoutDemo.class.getSimpleName(); private SwipeRefreshLayout mSwipeLayout; private ListView mListView; private ArrayAdapter mAdapter; private ArrayList<String> mDatas = new ArrayList<>(); @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_swipe_refresh_layout); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); mSwipeLayout = (SwipeRefreshLayout) findViewById(R.id.swiperefresh); //设置下拉圆圈上的颜色 mSwipeLayout.setColorSchemeResources(android.R.color.holo_blue_light, android.R.color.holo_green_dark, android.R.color.holo_orange_dark, android.R.color.holo_red_dark); // mSwipeLayout.setColorSchemeColors(Color.BLUE, Color.GREEN, Color.YELLOW, Color.RED); // mSwipeLayout.setDistanceToTriggerSync(500); // 设置手指在屏幕下拉多少距离(dip)会触发下拉刷新 // mSwipeLayout.setProgressViewOffset(); // mSwipeLayout.setProgressBackgroundColorSchemeResource(android.R.color.holo_blue_dark); // 设定下拉圆圈的背景 // mSwipeLayout.setProgressBackgroundColorSchemeColor(Color.GREEN); // mSwipeLayout.setProgressViewEndTarget(); // mSwipeLayout.setNestedScrollingEnabled(true); // mSwipeLayout.setSize(SwipeRefreshLayout.LARGE); // 设置圆圈的大小 mListView = (ListView) findViewById(R.id.list); mDatas = Cheeses.randomList(15); mAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mDatas); mListView.setAdapter(mAdapter); mListView.setOnScrollListener(this); mSwipeLayout.setOnRefreshListener(this); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { finish(); return true; } return super.onOptionsItemSelected(item); } @Override public void onRefresh() { mDatas.clear(); mDatas = Cheeses.randomList(15); mAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mDatas); mListView.setAdapter(mAdapter); // 停止刷新 mSwipeLayout.setRefreshing(false); } @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // 当不滚动时 if (scrollState == SCROLL_STATE_IDLE) { // 判断是否滚动到底部 if (view.getLastVisiblePosition() == view.getCount() - 1) { // 加载更多功能的代码 mDatas.addAll(Cheeses.randomList(15)); mAdapter.notifyDataSetChanged(); } } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } }
相关文章推荐
- 使用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