Android 实现书籍翻页效果【配套代码】,android翻页
投稿于 被查看 387 次 评论:6
Android 实现书籍翻页效果【配套代码】,android翻页
其实翻页的动画很容易实现,只要在Touch抬起后不断的刷新mTouch.x , mTouch.y 的值就行了, 你可以使用handler,thread,也可以使用Scroller,全文请阅读: Android 实现书籍翻页效果1.[Java]代码
private void startAnimation(int delayMillis) { int dx, dy; // dx 水平方向滑动的距离,负值会使滚动向左滚动 // dy 垂直方向滑动的距离,负值会使滚动向上滚动 if (mCornerX > 0) { dx = -(int) (mWidth + mTouch.x); } else { dx = (int) (mWidth - mTouch.x + mWidth); } if (mCornerY > 0) { dy = (int) (mHeight - mTouch.y); } else { dy = (int) (1 - mTouch.y); // 防止mTouch.y最终变为0 } mScroller.startScroll((int) mTouch.x, (int) mTouch.y, dx, dy, delayMillis); } public void computeScroll() { super.computeScroll(); if (mScroller.computeScrollOffset()) { float x = mScroller.getCurrX(); float y = mScroller.getCurrY(); mTouch.x = x; mTouch.y = y; postInvalidate(); } }
2.接着在按下抬起时调用就行了
if (event.getAction() == MotionEvent.ACTION_UP) { if (canDragOver()) { //判断是否可以翻页 startAnimation(1200); } else { mTouch.x = mCornerX - 0.09f; //如果不能翻页就让mTouch返回没有静止时的状态 mTouch.y = mCornerY - 0.09f; // - 0.09f是防止mTouch = 800 或mTouch= 0 要不在这些值时会出现BUG }
用户评论