Material Design之SwipeRefreshLayout

来源:互联网 发布:淘宝店铺域名修改 编辑:程序博客网 时间:2024/05/17 04:13

http://image.uisdc.com/wp-content/uploads/2014/12/b-16.gif

https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html

这里写图片描述

<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>
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) {    }}
0 0
原创粉丝点击