Làm cách nào để tắt tất cả các sự kiện liên lạc trong Android WebView (hoặc cuộn đặc biệt)? Tôi muốn các hoạt động để xử lý tất cả các sự kiện liên lạc.Tắt các sự kiện chạm trên WebView trong Android
Trả lời
mWebView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
Vô hiệu hóa tất cả các sự kiện liên lạc trên một WebView
vì người nghe cảm ứng được thực hiện trước khi hành vi cảm ứng mặc định của WebView
. Bằng cách trả lại true
sự kiện được tiêu thụ và không được truyền sang số WebView
.
Sử dụng android:clickable="false"
không tắt các sự kiện chạm.
Nếu tôi đưa bạn đến đúng, bạn chỉ cần ghi đè phương thức onTouchEvent.
Rất có thể điều đó sẽ hiệu quả. Tôi đã tự hỏi nếu có một tài sản hoặc một cái gì đó đơn giản hơn thế. – hpique
Ah Tôi thấy rõ rồi bạn có thể muốn thử cung cấp cho WebView tham số bố cục này android: clickable = "false". Tôi không chắc chắn nếu nó hoạt động nhưng về mặt lý thuyết nó nên như WebView được thừa hưởng từ View. –
Không hoạt động nhưng tôi đã tìm thấy một giải pháp khác mà tôi đã đăng. – hpique
Sau đó, cách khôi phục các sự kiện? Hãy tưởng tượng tôi phải tạm thời vô hiệu hóa chúng và sau đó kích hoạt lại chúng khi tôi cần. – Hosane
Thực ra, hãy đặt cả 'android: clickable' và longClickable sẽ thực hiện thủ thuật cho chế độ xem web –