웹 뷰 컨트롤이 스 와이프를 감지하고 멀티 터치 줌을 할 수 있고 빌드 줌 컨트롤을 사용할 수있는 방법이 있습니까?플리퍼를 사용하여 멀티 터치로 스 와이프 동작을 감지하는 방법
4
A
답변
5
는 YES! 웹보기를 구현하고 사용자 정의 웹보기를 작성 이 방법으로 사용자 정의 웹보기가 동시에 멀티 터치에 가진 슬쩍 감지에 구축하고 컨트롤 줌 구축하는 것이 일을하는 방법이있다. 여기
//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]);
및
사용자 정의 웹보기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를 오버라이드 (override)하지 않은 MotionEvent.ACTION_MOVE에 있고 MotionEvent.ACTION_UP이 트릭을해야합니다. 또한 시간과 차이 범위로 재생할 수 있습니다.
+0
나는 이것을 시도했지만 확대/축소에 문제가된다. 원래 크기로 다시 확대 할 때 웹 뷰 크기를 다시 설정합니다. – MegaNairda
관련 문제
- 1. 스 와이프 동작을 사용하여 셀 뷰에서 테이블 뷰로 돌아가는 방법
- 2. UIView : 터치 : 스 와이프?
- 3. 셀에서 스 와이프 동작을 사용하여 테이블 뷰 셀 삭제
- 4. 터치를 사용하여 페이지를 스 와이프
- 5. UIScrollView를 사용하여 인스턴트 스 와이프
- 6. uigestureswipe를 사용하여 가로보기에서 스 와이프
- 7. 멀티 터치 스 와이프가 작동하지 않음
- 8. XIB간에 스 와이프
- 9. Android 스 와이프 이미지
- 10. iOS - 스 와이프 W/스 와이프 속도의 어드밴스 애니메이션
- 11. UITextView 스 와이프 제스처
- 12. 제스처가있는 뷰를 스 와이프
- 13. 안드로이드의 스 와이프 페이지
- 14. 하나의보기에서 다음보기로 스 와이프
- 15. UINavigationBar의 스 와이프 감지
- 16. android에서 이미지 스 와이프
- 17. UISwipeGestureRecognizer 스 와이프 거리
- 18. Multiview App에서 스 와이프 제스처
- 19. TableView 스 와이프 삭제와 함께 필요한 도움말
- 20. .Net Compact Framework에서 핑거 스 와이프 감지
- 21. iphone은 멀티 터치로 UIScrollView를 그립니다.
- 22. 페이지 컨트롤 지원을 사용하여 가로 스 와이프 화면을 만드는 방법
- 23. iphone JS 스 와이프 동작으로 다음 페이지로드
- 24. 스 와이프 질문으로 회전 원
- 25. iPhone Dev : UITableCell을 스 와이프
- 26. UIView + 스 와이프 제스처 정보
- 27. wp7 가로 스 와이프 선택
- 28. Blackberry 안내서의 내용을 스 와이프
- 29. 스 와이프 및 스크롤이있는 ScrollView
- 30. 라이온 스타일 스 와이프 및 슬라이드 애니메이션 구현 방법
자신의 질문에 답하는 데는 아무런 문제가 없지만 모든 질문을 던지기보다는 질문을 제기하고 답변을 입력하는 것이 좋을 것입니다. 이렇게하면 사람들이 귀하의 솔루션에 쉽게 응답하고 문제점에 대한 대체 솔루션을 제공 할 수 있습니다. –
전형적으로 이것은 질문이 아닙니다.하지만 저는 그것을 할 것입니다. 그것은 더 명백 할 것입니다. – weakwire