2011-08-19 81 views
91

Ứng dụng Trình duyệt mặc định cho Android hiển thị các điều khiển thu phóng khi bạn đang di chuyển và cũng cho phép phóng to thu nhỏ. Làm thế nào tôi có thể kích hoạt tính năng này cho Webview của riêng tôi?Làm cách nào để bật điều khiển thu phóng và phóng to thu nhỏ trong một WebView?

Tôi đã thử:

webSettings.setBuiltInZoomControls(true); 
webSettings.setSupportZoom(true); 

nhưng không ai trong số các tính năng được kích hoạt như là một kết quả. Btw Tôi đã đặt WebChromeClientWebViewClient cho Webview nếu điều đó tạo nên sự khác biệt.

Cảm ơn!

Trả lời

214

Lạ. Trong phương thức OnCreate, tôi đang sử dụng

webView.getSettings().setBuiltInZoomControls(true); 

Và nó hoạt động tốt ở đây. Mọi thứ cụ thể trong chế độ xem web của bạn?

+30

Trong khi điều này sẽ cho phép pinch-to-zoom, nó cũng sẽ hiển thị một điều khiển lớp phủ zoom (Galaxy S3). Để vô hiệu hóa công cụ thu phóng trên màn hình, nhưng vẫn giữ chức năng pinch-to-zoom, bạn cũng cần gọi cả webView.setDisplayZoomControls (false). – Lev

+27

^'webView.getSettings(). SetDisplayZoomControls (false);' – wiseindy

26

Kiểm tra xem bạn có không có ScrollView gói Webview của bạn.

Trong trường hợp của tôi, đó là vấn đề. Có vẻ như ScrollView bị cản trở bởi cử chỉ chụm.

Để khắc phục, chỉ cần xem Webview của bạn bên ngoài ScrollView.

+5

bạn đã lưu ngày của tôi – allemattio

+0

cảm ơn rất nhiều cho câu trả lời của bạn – MrBii

+0

Hoạt động tuyệt vời cho tôi. Bây giờ tôi có thể xóa toàn bộ khung nhìn cuộn lồng nhau của mình! –

54

Sử dụng sau đây:

wv.getSettings().setBuiltInZoomControls(true); 
wv.getSettings().setDisplayZoomControls(false); 
+0

cộng 1, cho câu trả lời .. đã giúp tôi. –

+0

Có, setBuiltInZoomControls (true) và setDisplayZoomControls (sai) làm việc cho tôi. –

Các vấn đề liên quan