天天看點

android PullToRrefresh自定義下拉重新整理動畫

參考自 http://blog.csdn.net/wwj_748/article/details/42523611

首先,下載下傳著名的重新整理架構https://github.com/chrisbanes/android-pulltorefresh,其中simple為demo,library和extras作為項目包導入到simple中

一,定義重新整理動畫的layout

在library下的com.handmark.pulltorefresh.library.internal包中的fliploadinglayout和rotateloadinglayout

fliploadinglayout為ios風格的箭頭颠倒的重新整理動畫

rotateloadinglayout為android風格的圖檔旋轉動畫

共同的設定方法是

1,getdefaultdrawableresid()

動畫預設圖檔,可以替換為自己的圖檔

2,refreshingimpl()

正在重新整理時的回調方法,可以設定開始動畫

3,resetimpl()

重置

二,正在重新整理時為圖檔居中旋轉的效果

1,首先修改library中的pull_to_refresh_header_vertical.xml,去除文字的layout,圖檔layout水準居中

2,去除loadinglayout中的關于textview的代碼

3,可以在rotateloadinglayout中的getdefaultdrawableresid()方法替換成自己的圖檔

三,設定自定義動畫效果

1,首先設定一個簡單的小人走的動畫效果,在anim檔案夾下建立一個xml,需要加載兩張圖檔,控制圖檔的停留時間

2,建立重新整理動畫的layout,tweenanimloadinglayout,類似于之前的源碼中的fliploadinglayout和rotateloadinglayout

主要設定初始化,和那幾個關鍵方法就行

3,替換之前的重新整理layout為tweenanimloadinglayout

找到library項目com.handmark.pulltorefresh.library包下的pulltorefreshlistview,發現頭腳的layout用的都是loadinglayout,找到頭腳layout的建立方法createloadinglayout進入,在createloadinglayout方法中再進入createloadinglayout,找到最原始的建立動畫layout的地方,把預設的rotateloadinglayout改成tweenanimloadinglayout就行了

在pulltorefreshbase類下,變為

4,去除loadinglayout中的關于textview的代碼

代碼下載下傳 http://download.csdn.net/detail/superjunjin/8589827

繼續閱讀