參考自 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