80,493
社区成员
发帖
与我相关
我的任务
分享
public class BapsDistance extends LinearLayout {
private Scroller mScroller;
private int startX;
private int startY;
private int moveX = 103;
private int moveY = 103;
public BapsDistance(Context context) {
this(context, null);
// TODO Auto-generated constructor stub
}
public BapsDistance(Context context, AttributeSet attrs) {
super(context, attrs);
mScroller = new Scroller(context);
}
@Override
public void computeScroll() {
// TODO Auto-generated method stub
if (mScroller.computeScrollOffset()) {
scrollTo(0, mScroller.getCurrY());
postInvalidate();
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
float rawY = event.getRawY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
if (rawY > 0 && rawY < 75) {
up();
return false;
} else if (rawY > 178 && rawY < 253) {
down();
return false;
}
break;
}
return super.onTouchEvent(event);
}
public void down() {
if (startY < 720) {
mScroller.startScroll(startX, startY, moveX, moveY);
startY += 103;
startX += 103;
}
}
public void up() {
if (startY > 0) {
mScroller.startScroll(startX, startY, -moveX, -moveY);
startY -= 103;
startX -= 103;
}
}
}