Có một số phương pháp trong WebSettings liên quan đến phóng to:bật/tắt zoom trong Android WebView
- WebSettings.setSupportZoom
- WebSettings.setBuiltInZoomControls
tôi nhận thấy họ làm việc khác nhau trên một số thiết bị. Ví dụ, trên pinch Galaxy S của tôi để phóng to được kích hoạt theo mặc định, nhưng trên LG P500 nó bị vô hiệu hóa (Và bây giờ tôi không biết làm thế nào để kích hoạt chỉ pinch để phóng to, nhưng ẩn các nút zoom).
Trên P500 khi tôi gọi setBuiltInZoomControls(true)
Tôi nhận được cả hai biến thể này hoạt động (cảm ứng đa điểm và nút).
Cách bật thu phóng đa chạm và tắt các nút thu phóng trên các thiết bị như LG P500? (Ngoài ra, tôi biết những vấn đề tương tự có trên các thiết bị HTC)
UPDATE: Đây là gần như đầy đủ mã cho các giải pháp
if (ev.getAction() == MotionEvent.ACTION_DOWN ||
ev.getAction() == MotionEvent.ACTION_POINTER_DOWN ||
ev.getAction() == MotionEvent.ACTION_POINTER_1_DOWN ||
ev.getAction() == MotionEvent.ACTION_POINTER_2_DOWN ||
ev.getAction() == MotionEvent.ACTION_POINTER_3_DOWN) {
if (multiTouchZoom && !buttonsZoom) {
if (getPointerCount(ev) > 1) {
getSettings().setBuiltInZoomControls(true);
getSettings().setSupportZoom(true);
} else {
getSettings().setBuiltInZoomControls(false);
getSettings().setSupportZoom(false);
}
}
}
if (!multiTouchZoom && buttonsZoom) {
if (getPointerCount(ev) > 1) {
return true;
}
}
Mã này là trong onTouchEvent
phương pháp ghi đè của tôi về WebView.
Tôi có cùng một vấn đề .. multiTouchZoom và biến buttonZoom là gì? – Luciano
@Luizje Tôi biết đây là cũ, nhưng trong trường hợp bất cứ ai khác tìm thấy nó: Thay đổi getPointerCount (ev) để ev.getPointerCount() và nó sẽ làm việc! –
Tôi không chắc chắn nếu có ai cần điều này nữa, nhưng có một cái nhìn của tôi "hack xung quanh". Nó hoạt động trở lại Android 1.6 –