Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android自帶的下拉刷新組件SwipeRefreshLayout

Android自帶的下拉刷新組件SwipeRefreshLayout

編輯:關於Android編程

也許之前下拉刷新你可能會用到一些第三方開源庫,如PullToRefresh, ActionBar-PullToRefresh等,但現在已經有官方的組件了---SwipeRefreshLayout,SwipeRefreshLayout是Google在support v4 19.1版本的library更新的一個下拉刷新組件,使用起來很方便,可以很方便的實現Google Now的刷新效果。使用官方自帶的控件能夠保證通用性以及風格。SwipeRefreshLayout是繼承ViewGroup,來實現下拉刷新,它可以包含其他組件,使用過後感覺很簡單。



    
        

            
        



import android.os.Handler;
import android.os.Message;
import android.support.v7.app.ActionBarActivity;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends ActionBarActivity implements OnRefreshListener{

    private SwipeRefreshLayout swipeRefreshLayout;
    Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            swipeRefreshLayout.setRefreshing(false);
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        swipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.swip);
        swipeRefreshLayout.setOnRefreshListener(this);
        swipeRefreshLayout.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);

    }

    @Override
    public void onRefresh() {
        handler.sendEmptyMessageDelayed(1, 5000);
    }
}

在上面的onRefresh()函數中實現獲取數據功能以及更新數據,當更新完數據後,調用swipeRefreshLayout.setRefreshing(false);來關閉刷新。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved