中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

下拉刷新PullToRefresh定制

發布時間:2020-07-18 09:27:05 來源:網絡 閱讀:601 作者:Lcg_Android 欄目:開發技術

  我們使用PullToRefresh庫的時候,下拉的level-list以及刷新的幀動畫都需要自己定制。如果每次都修改庫非常麻煩,特別是一個項目有幾個地方用到不同的樣式,又不能多次關聯同樣的庫。所以我們要自定義屬性,在xml文件中就可以直接設置參數。


具體實現步驟:

1.在父類LoadingLayout中找到顯示動畫的ImageView控件,此控件自己定義,原來的控件隱藏。

 mLoadingImage = (ImageView) mInnerLayout.findViewById(R.id.img_loading);

2.在attrs文件中

   <declare-styleable name="PullToRefresh">

        <attr name="ptrRefreshDrawable" format="reference" />

        <attr name="ptrPullDrawable" format="reference" />

        <attr name="ptrTotal" format="integer" />


3.// TODO在子類RotateLoadingLayout

refreshDrawable=attrs.getDrawable(R.styleable.PullToRefresh_ptrRefreshDrawable);

pullDrawable = attrs.getDrawable(R.styleable.PullToRefresh_ptrPullDrawable);

total = attrs.getInteger(R.styleable.PullToRefresh_ptrTotal, total);


4.// TODO 在onPullImpl方法中

int level = (int) (scaleOfLayout >= 1 ? total : scaleOfLayout * total);

if (pullDrawable == null)

       {

 mLoadingImage.setImageResource(R.drawable.homepage_pull_progresses);

       } else

      {

 mLoadingImage.setImageDrawable(pullDrawable);

       }

LevelListDrawable levelList = (LevelListDrawable) mLoadingImage.getDrawable();

levelList.setLevel(level);

5.// TODO 在refreshingImpl中

if (refreshDrawable == null)

{

mLoadingImage.setImageResource(R.drawable.homepage_loading_progressbar);


} else

{

mLoadingImage.setImageDrawable(refreshDrawable);

}

AnimationDrawable drawable = (AnimationDrawable) 6.mLoadingImage.getDrawable();

drawable.start();

// TODO 在resetImpl方法中

if (pullDrawable == null)

{

mLoadingImage.setImageResource(R.drawable.homepage_pull_progresses);

} else

{

mLoadingImage.setImageDrawable(pullDrawable);


}


7.在自己項目里關聯庫后

    <com.handmark.pulltorefresh.library.PullToRefreshListView

        android:id="@+id/pull_refresh_list"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        app:ptrPullDrawable="@drawable/homepage_pull_progresses"

        app:ptrRefreshDrawable="@drawable/homepage_loading_progressbar"

        app:ptrTotal="24" />




備注:參考附件上傳的庫里RotateLoadingLayout類和LoadingLayout類

附件:http://down.51cto.com/data/2366510
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

红原县| 邹平县| 徐汇区| 五大连池市| 富川| 包头市| 尉氏县| 醴陵市| 仙桃市| 东兰县| 永春县| 鄂州市| 霞浦县| 化隆| 新邵县| 安庆市| 古蔺县| 平阳县| 永年县| 长葛市| 定兴县| 宜都市| 凤凰县| 瓮安县| 奉贤区| 柘荣县| 蒙山县| 郁南县| 曲水县| 印江| 景泰县| 达拉特旗| 远安县| 江山市| 汪清县| 襄汾县| 石渠县| 柳州市| 西乌珠穆沁旗| 灌云县| 长寿区|