因此,有沒有一種方法可以讓webview控件在檢測滑動的同時能夠進行多點觸控縮放並具有內置縮放控件?如何通過使用腳蹼使用多點觸控縮放來實現web查看輕掃手勢檢測
4
A
回答
5
YES!沒有這樣做,通過實施的WebView,並創建一個自定義網頁視圖 這種方式自定義的WebView已經建立在具有同時多點觸摸 刷卡檢測和建立控制 變焦的方式。
//Declaring the custom Webview and put into a viewflipper
MyWebView[] webview =new MyWebView[2];
flipper = (ViewFlipper) findViewById(R.id.ViewFlipper);
webview[i] = new MyWebView(this);
webview[i].setWebViewClient(new HelloWebViewClient());
webview[i].getSettings().setJavaScriptEnabled(false);
webview[i].setInitialScale(60);
webview[i].getSettings().setBuiltInZoomControls(true);
flipper.addView(webview[0]);
flipper.addView(webview[1]);
,這裏是自定義的WebView
public class MyWebView extends WebView {
public MyWebView(Context context) {
super(context);
}
@Override
public boolean onTouchEvent(MotionEvent evt) {
boolean consumed = super.onTouchEvent(evt);
if (isClickable()) {
switch (evt.getAction()) {
case MotionEvent.ACTION_DOWN:
lastTouchX = evt.getX();
lastTouchY = evt.getY();
downXValue = evt.getX();
downTime = evt.getEventTime();
hasMoved = false;
break;
case MotionEvent.ACTION_MOVE:
hasMoved = moved(evt);
break;
case MotionEvent.ACTION_UP:
float currentX = evt.getX();
long currentTime = evt.getEventTime();
float difference = Math.abs(downXValue - currentX);
long time = currentTime - downTime;
Log.i("Touch Event:", "Distance: " + difference + "px Time: " + time + "ms");
if ((downXValue < currentX) && (time < 220) && (difference > 100)) {
go_back();
}
if ((downXValue > currentX) && (time < 220) && (difference > 100)) {
go_forward();
}
//if (!moved(evt)) performClick();
break;
}
}
return consumed || isClickable();
}
float downXValue;
long downTime;
private float lastTouchX, lastTouchY;
private boolean hasMoved = false;
private boolean moved(MotionEvent evt) {
return hasMoved ||
Math.abs(evt.getX() - lastTouchX) > 10.0 ||
Math.abs(evt.getY() - lastTouchY) > 10.0;
}
}
這就是It.You必須建立在刷卡detection.Code是有點「僞」,並沒有清理了,但重寫的onTouchEvent在MotionEvent.ACTION_MOVE和案例MotionEvent.ACTION_UP應該做的trick.You還可以玩時間和差異的界限。
+0
我試過這個,但它給我一個放大/縮小的問題。當您縮放縮放到原始大小時,它會重置web視圖大小。 – MegaNairda 2012-12-12 09:32:53
相關問題
- 1. 如何通過輕掃手勢
- 2. Swift - 我如何檢測輕掃手勢距離放棄?
- 3. Android libgdx使用手勢監聽器輕掃左右檢測
- 4. 如何在Android中使用多點觸控來縮放圖像?
- 5. 使用手勢縮放FrameLayout
- 6. 輕掃手勢iphone
- 7. 如何使用多點觸控實現雙指縮放和平移?
- 8. 如何檢測自定義UIScrollView上的水平輕掃手勢?
- 9. 平移手勢 - 輕掃手勢衝突
- 10. 使用Kinect手勢檢測
- 11. UIView +輕掃手勢info
- 12. 谷歌地圖禁用縮放當我實現輕拍手勢識別器?
- 13. 在Android中使用多點觸控實現拖放
- 14. Android測試,如何使用樂器模擬多點觸控(放大/縮小)?
- 15. 如何爲UIPageViewController啓用Voice Over 3手指輕掃手勢
- 16. 檢測使用onTouchListener輕掃,滾動型
- 17. SVG:使用javascript縮放手勢
- 18. 縮放通過捏手勢的UICollectionView
- 19. 如何在phonegap android中啓用多點觸控手勢?
- 20. UIView獲取點擊和輕掃手勢,但將其設置爲忽略捏縮放手勢
- 21. 通過多個視圖控制器檢測搖動手勢
- 22. 如何使用javascript在現場攝像頭中檢測手勢?
- 23. 更改XCode 4多點觸控手勢
- 24. Sprite Kit中的多點觸控手勢
- 25. paperjs中的多點觸控手勢
- 26. 多點觸控自定義手勢
- 27. Android:追蹤多點觸控手勢
- 28. 如何使用ImageViews和PageAdapter輕掃縮放圖像
- 29. 兩根手指輕掃手勢
- 30. 用縮放手勢縮放UIImageView
回答你自己的問題沒有錯,但如果你能提出一個問題並輸入答案,而不是隻是把問題中的所有內容都放好,那會更好。這使人們更容易響應您的解決方案,併爲您的問題提供備用解決方案。 – 2010-07-14 10:20:13
典型的它不是一個問題..但我會做它。這可能是更明顯的方式。 – weakwire 2010-07-14 10:25:35