我在android工作。我想创建一个我想要执行webview翻转的应用程序。我用图像完成了Flip操作,但我不知道如何在网页中使用翻转操作。
假设我的网页长度比我的屏幕大,那么我想在用户使用右翻时显示该页面的剩余内容。 通常我们使用垂直滚动条来查看页面的剩余内容,但我不想使用滚动条,我想在下一页显示页面的剩余内容,我们必须为此进行翻转。
例如: -
我希望你能理解我想要的东西,如果对我的问题有任何疑问,请随时24小时在这里随时问我。
您可以向我推荐一些与此相关的网络链接。
提前谢谢你......
答案 0 :(得分:2)
加载页面后,请尝试:
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); // clear drawing cache
然后你可以滚动你的webview并再次进行,这样你就可以有两个可以翻转的位图。 您还可以尝试将webview放入scrollview并将webview设置为较大的高度,这样您就可以立即捕获整个网站的位图。
答案 1 :(得分:0)
这里的代码是未经测试的,概念证明代码 - 但是考虑到你的问题,你似乎仍处于原型设计阶段。让我知道你怎么去!
此处描述的方法适用于“原子地”翻页 - 即,用户滑动手指,然后页面更改。如果您在实际页面卷曲之后,则需要将我在此处写的内容与http://code.google.com/p/android-page-curl/之类的内容结合起来。
首先,子类WebView根据Fling Gesture and Webview in Android附加GestureListener和GestureDetector。为方便起见,我在这里复制了代码。
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;
}
};
}
然后,当用户以某种方式甩开“页面”时,请执行以下操作;
例如:
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());
然后使用您已编写的任何页面翻转逻辑将其翻转掉:)