此处的代码未经测试,概念验证码 - 但考虑到您的问题,您似乎仍处于原型设计阶段。让我知道你怎样去!
这里描述的方法将用于“原子地”翻页 - 即用户在他们的手指上进行滑动,然后页面改变。如果你是在一个实际的页面卷曲之后,你需要把我在这里写的东西和http://code.google.com/p/android-page-curl/这样的东西结合起来。
首先,根据Fling Gesture and Webview in Android,附加GestureListener和GestureDetector的子类WebView。为了方便,我在这里复制了代码。
class MyWebView extends WebView {
Context context;
GestureDetector gd;
public MyWebView(Context context) {
super(context);
this.context = context;
gd = new GestureDetector(context, sogl);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return gd.onTouchEvent(event);
}
GestureDetector.SimpleOnGestureListener sogl = new GestureDetector.SimpleOnGestureListener() {
public boolean onDown(MotionEvent event) {
return true;
}
public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY) {
if (event1.getRawX() > event2.getRawX()) {
// Scroll up
} else {
// Scroll down
}
return true;
}
};
}
然后,当用户以某种方式抛出'页面'时,请执行以下操作;
- 渲染的WebView的当前内容为位图,按@死眼的回答
如:
View v = getYourWebView();
v.setDrawingCacheEnabled(true);
// Cheat to force WebView to draw itself
v.measure(
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)
);
v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
v.buildDrawingCache(true);
Bitmap b = Bitmap.createBitmap(v.getDrawingCache());
v.setDrawingCacheEnabled(false);
使用jQuery并完成它:
$(document).scrollTop($(document).scrollTop()+$(window).height());
然后翻转远离使用任何页面翻转你已经写:)
你说的“翻转”的意思是什么逻辑?这是触摸手势还是手机或其他东西的动作?你能详细说明一下吗? – scorpiodawg 2012-03-02 20:43:24
是的,先生这触摸手势的屏幕刷卡。 – 2012-03-03 05:27:42
你有没有想过这个问题?任何代码为你工作? – MSaudi 2013-10-09 08:37:24