安卓基礎(十六),安卓基礎
拉出一個小東西
目標人群:沒有基礎的安卓初學者
知識點:在Android Studio中使用support V4包來實現下拉重新整理的效果
目標:在頁面上實現下拉重新整理功能
簡介
support V4包的匯入
SwipeRefreshLayout類的簡單使用
本文
1.首先我們需要在build.gradle中添加對support V4包的引用,代碼如下
dependencies { ... compile 'com.android.support:support-v4:21.0.3' ...}
- 也可以在項目中選擇Open Module Settings-Dependencies-點擊右側加號-Library Dependency-選中appcompat-V4來進行添加
2.建立一個Activity頁面並使其實現android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener介面,代碼如下
import android.app.Activity;import android.os.Bundle;import android.support.v4.widget.SwipeRefreshLayout;public class MainActivity extends Activity implements SwipeRefreshLayout.OnRefreshListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public void onRefresh() { //當處於重新整理狀態時需要執行的載入資料代碼,此處略 }}
3.建立一個包含SwipeRefreshLayout控制項的布局,代碼如下
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/swipe_refresh_widget" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/content" /></android.support.v4.widget.SwipeRefreshLayout>
4.回到Activity中,對SwipeRefreshLayout 進行初始化,並類比下拉重新整理的過程,代碼如下:
private SwipeRefreshLayout refreshLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //下拉重新整理控制項 refreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_widget); //重新整理過程中的顏色展示 refreshLayout.setColorSchemeResources(R.color.red, R.color.blue, R.color.green, R.color.yellow); //指定接聽回調介面 refreshLayout.setOnRefreshListener(this); //文字顯示控制項 } @Override public void onRefresh() { //延遲2000毫秒,類比資料載入 new Handler().postDelayed(new Runnable() { public void run() { refreshLayout.setRefreshing(false); Toast.makeText(MainActivity.this, "載入完成", Toast.LENGTH_LONG).show(); } }, 2000); }
- 想禁用SwipeRefreshLayout的手勢下拉以及動畫效果的話,調用setEnabled(false) 方法即可
擴充閱讀