这篇文章是为在
http://blog.csdn.net/hmg25/archive/2011/04/22/6342539.aspx
的翻页的实现的加入了一点点个人的优化,当然是在班门弄斧。
http://blog.csdn.net/hmg25/archive/2011/04/22/6342539.aspx
本来应该把实现的代码传上来的,但是公司新出了规定。作了信息安全处理,USB和上传全作了限制,所有的代码弄不出来, 为把我的自动弹回的实现原理说一下。
主要就是使用Scroller 的弹回效果:
1.首先重写翻页类的如下方法。
public void computeScroll() {
super.computeScroll();
if (mScroller.computeScrollOffset()) {
float x = mScroller.getCurrX();
float y = mScroller.getCurrY();
mTouch.x = x;
mTouch.y = y;
mCanvas.drawColor(0xFFAAAAAA);
postInvalidate();
}
}
当然需要先初始化一个Scroller对象
Scroller mScroller = new Scroller(getContext());
2.在手指松开的时候,判断下当前的位置和滑动速度。
首先判断速度,如果正向超过200表示翻回,如果负向超过200表示下一页。否则的话根据位置来判断是否翻页。
代码:
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; min-height: 16.0px} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; color: #646464} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; color: #3f7f5f} p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; color: #0000c0} p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; color: #7f0055} span.s1 {color: #000000} span.s2 {color: #7f0055} span.s3 {color: #0000c0} span.s4 {color: #3f7f5f} span.Apple-tab-span {white-space:pre}
@Override