国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現SwipeRefreshLayout首次進入自動刷新

2019-12-12 04:09:28
字體:
來源:轉載
供稿:網友

看到了Android版知乎實現了這種效果,就自己也實現了一下。

先來一張效果圖

實現方式:

方法一:

①在onWindowFocusChanged()方法中,設置為刷新狀態為true

@Override  public void onWindowFocusChanged(boolean hasFocus) {    super.onWindowFocusChanged(hasFocus);    mSwipeRefreshLayout.setRefreshing(true);  }

②在獲取數據完成后設置刷新狀態為false

if (mSwipeRefreshLayout.isRefreshing()) {              mSwipeRefreshLayout.setRefreshing(false);            }

方法二:

①調用mSwipeRefreshLayout.measure()方法后,設置刷新狀態為true

//手動調用,通知系統去測量    mSwipeRefreshLayout.measure(0,0);    mSwipeRefreshLayout.setRefreshing(true);

②在獲取數據完成后設置刷新狀態為false

if (mSwipeRefreshLayout.isRefreshing()) {              mSwipeRefreshLayout.setRefreshing(false);            }

說明:
方法一和方法二的第一步的目的,都是為了在SwipeRefreshLayout繪制完成之后,再設置刷新狀態為true,否則大多數情況下,SwipeRefreshLayout刷新球會不顯示。

源碼:

package org.raphets.swiperefreshlayoutdemo;import android.graphics.Color;import android.support.v4.widget.SwipeRefreshLayout;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.widget.TextView;public class MainActivity extends AppCompatActivity {  private SwipeRefreshLayout mSwipeRefreshLayout;  private TextView mTextView;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.srl);    mTextView = (TextView) findViewById(R.id.tv);    //設置刷新球顏色    mSwipeRefreshLayout.setColorSchemeColors(Color.BLUE, Color.RED, Color.YELLOW);    mSwipeRefreshLayout.setProgressBackgroundColorSchemeColor(Color.parseColor("#BBFFFF"));    //手動調用,通知系統去測量//    mSwipeRefreshLayout.measure(0,0);    mSwipeRefreshLayout.setRefreshing(true);    getData();  }  /**   * 模擬網絡請求   */  private void getData() {    new Thread() {      @Override      public void run() {        super.run();        //模擬網絡請求        try {          Thread.sleep(3000);        } catch (InterruptedException e) {          e.printStackTrace();        }        //在UI線程中更新UI        runOnUiThread(new Runnable() {          @Override          public void run() {            mTextView.setText("首次進入自動刷新");            if (mSwipeRefreshLayout.isRefreshing()) {              mSwipeRefreshLayout.setRefreshing(false);            }          }        });      }    }.start();  }  @Override  public void onWindowFocusChanged(boolean hasFocus) {    super.onWindowFocusChanged(hasFocus);    mSwipeRefreshLayout.setRefreshing(true);  }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武威市| 金门县| 濮阳市| 兴和县| 阳原县| 吴堡县| 无棣县| 凉城县| 祁东县| 白水县| 丰县| 手机| 青岛市| 通河县| 高雄市| 留坝县| 白银市| 仁怀市| 宣恩县| 普陀区| 乌鲁木齐县| 大同县| 开江县| 锡林郭勒盟| 克拉玛依市| 石城县| 扬州市| 南岸区| 墨竹工卡县| 安阳县| 易门县| 志丹县| 望谟县| 四会市| 邵武市| 凤冈县| 呈贡县| 湾仔区| 秦安县| 江城| 育儿|