在网上找了好久这个demo,终于找到了。。。
使用非常简单,和ScrollView一样,只是在拉动时有IOS的回弹效果。。。
我的学习解析:
对于滑动的这类改写,通常是需要做这几个步骤,
1、手指按下,记录一些信息,判断滑动
2、正在滑动时,需要做的效果
3、手指抬起,效果实现,还有一些信息的归位
通常对于自定义控件,需要实现下面几个方法
1、构造函数
下面是源码:
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.TranslateAnimation;
import android.widget.ScrollView;
/**
* 有弹性的ScrollView 实现下拉弹回和上拉弹回
*/
public class DragScrollView extends ScrollView {
private static final String TAG = "DragScrollView";
// 移动因子, 是一个百分比, 比如手指移动了100px, 那么View就只移动40px
// 目的是达到一个延迟的效果
private static final float MOVE_FACTOR = 0.4f;
// 松开手指后, 界面回到正常位置需要的动画时间
private static final int ANI