修改PullToRefresh下拉刷新动画
来源:互联网 发布:unity3d做手机游戏 编辑:程序博客网 时间:2024/05/18 09:24
开源框架PullToRefresh在android开发中的使用非常广泛,通常我们使用PullToRefresh是将这样的项目作依赖添加到自己的项目上,但是这样我们需要上传依赖项目和自己的项目,虽然这并不存在任何问题。然,一个有强迫症的程序Yuan,为了项目的整洁,我更愿意使用jar包或将依赖项目集成到自己的项目中。接下来就将PullToRefresh添加到自己的项目中。
- 整洁的代码风格
- 修改默认的刷新加载动画
效果图
其实就这么简单,只需从PullToRefresh源码中复制上图中的类到项目中,然后就是排错了,导包错误及引用相应的资源文件(这个过程会比较乏味郁闷)。上图只提取PullToRefreshListView和PullToRefreshScrollView,感觉从我的角度来看,这两个组件的使用频率很高,所以就将其提取出来加入项目中。
使用下拉刷新动画
①修改PullToRefreshBase.java的createLoadingLayout()方法:
case ROTATE: default://return new RotateLoadingLayout(context, mode, scrollDirection, attrs);return new FrameAnimationLayout(context, mode, scrollDirection, attrs);
②创建FrameAnimationLayout.java:
package com.android.refresh;import android.content.Context;import android.content.res.TypedArray;import android.graphics.drawable.AnimationDrawable;import android.graphics.drawable.Drawable;import com.android.refresh.PullToRefreshBase.Mode;import com.android.refresh.PullToRefreshBase.Orientation;import com.android.app.R;/** * @author 祁连山 * @desc 帧动画加载布局 * @date 2015/1/8 */public class FrameAnimationLayout extends LoadingLayout { private AnimationDrawable mAnimationDrawable; public FrameAnimationLayout(Context context, Mode mode, Orientation scrollDirection, TypedArray attrs) { super(context, mode, scrollDirection, attrs); mHeaderImage.setImageResource(R.drawable.drawable_waiting); mAnimationDrawable = (AnimationDrawable) mHeaderImage.getDrawable(); } @Override protected int getDefaultDrawableResId() { return R.drawable.waiting_01; } @Override protected void onLoadingDrawableSet(Drawable imageDrawable) { } @Override protected void onPullImpl(float scaleOfLayout) { } @Override protected void pullToRefreshImpl() { } @Override protected void refreshingImpl() { mAnimationDrawable.start(); } @Override protected void releaseToRefreshImpl() { } @Override protected void resetImpl() { }}
③创建帧动画drawable_waiting.xml
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/waiting_01" android:duration="90"/> <item android:drawable="@drawable/waiting_02" android:duration="90"/> <item android:drawable="@drawable/waiting_03" android:duration="90"/> <item android:drawable="@drawable/waiting_04" android:duration="90"/> <item android:drawable="@drawable/waiting_05" android:duration="90"/> <item android:drawable="@drawable/waiting_06" android:duration="90"/> <item android:drawable="@drawable/waiting_07" android:duration="90"/> <item android:drawable="@drawable/waiting_08" android:duration="90"/> <item android:drawable="@drawable/waiting_09" android:duration="90"/> <item android:drawable="@drawable/waiting_10" android:duration="90"/> <item android:drawable="@drawable/waiting_11" android:duration="90"/> <item android:drawable="@drawable/waiting_12" android:duration="90"/></animation-list>
完成测试
到此就可以打开手机运行上来测试一下了,然后再调整效果到令自己满意为止。
从今天开始转到CSDN博客来,小用MarkDown感觉很不错,赞一个。。。
1 0
- 修改PullToRefresh下拉刷新动画
- 基于pulltorefresh源码修改下拉刷新动画
- Android 中PullToRefresh 自定义下拉刷新动画
- Android 更改下拉刷新(使用PulltoRefresh)的下拉动画样式
- android pulltorefresh 下拉刷新
- PullToRefresh 下拉刷新菜单
- PullToRefresh下拉刷新
- PullToRefresh下拉刷新框架
- PullToRefresh的下拉刷新
- 修改pulltorefresh 下拉刷新个上拉加载的显示
- android控件 下拉刷新pulltorefresh
- PullToRefresh 针对SrcollView 下拉刷新
- android 之 下拉刷新PullToRefresh
- pulltorefresh:QQ下拉刷新应用
- 下拉刷新--第三方开源--PullToRefresh
- 下拉刷新--第三方开源--PullToRefresh
- ListView下拉刷新(PullToRefresh)
- PullToRefresh(下拉刷新)源码浅析
- PowerShell GUI 之 如何快速查询
- 黑客主要攻击方式
- BMP图像文件格式
- C++设计模式[二十一]访问者模式
- 如何用Python写一个贪吃蛇AI
- 修改PullToRefresh下拉刷新动画
- dex分包变形记
- 安卓游戏开发者:我是如何把包体减了88%
- Hibernate 控制反转(Inverse 详解)
- 自定义dialog视图
- Foudation 框架秘籍
- 地表两个点 的 距离计算公式
- 1064. Complete Binary Search Tree (30)
- 数字和字母混合计算