2010-10-13 46 views
10

Tôi dự định hiển thị hình ảnh từ thẻ SD trong chế độ xem web để tận dụng lợi thế của ông được xây dựng trong khả năng thu phóng của chế độ xem web. Tuy nhiên, tôi đang gặp phải sự cố khi hiển thị hình ảnh lớn hơn kích thước màn hình (ví dụ: 1800x1200) để vừa với màn hình ban đầu, như trong ImageView. Tôi muốn hình ảnh được hiển thị đầy đủ lúc đầu và cung cấp điều khiển thu phóng cho người dùng. Tôi đã thử sử dụng WRAP_CONTENT cho chiều rộng và chiều cao của webview, nhưng điều đó không hoạt động. Bất kỳ ý tưởng nào? Sau đây là một đoạn mã tôi đang sử dụng:Hình ảnh phù hợp trong chế độ xem web

String path = getRealPathFromURI(mUriList.get(0)); // this gets the file path 
    webView = (WebView) findViewById(R.id.WebView01); 
WebSettings settings= webView.getSettings(); 
settings.setBuiltInZoomControls(true); 
settings.setSupportZoom(true);  
webView.loadUrl("file://" + path); 
+0

có thể trùng lặp của [WebView Cần Android sẽ tự động thay đổi kích thước hình ảnh khổng lồ?] (Http://stackoverflow.com/questions/3099344/can-androids-webview-automatically-resize-huge-images) –

Trả lời

3

đó đã làm các trick cho tôi:

webView.setInitialScale(30); 
WebSettings webSettings = webView.getSettings(); 
webSettings.setUseWideViewPort(true); 
9
private WebView mWebView2; 
    mWebView2 = (WebView)findViewById(R.id.webview); 
    mWebView2.getSettings().setJavaScriptEnabled(true); 
    mWebView2.getSettings().setLoadWithOverviewMode(true); 
    mWebView2.getSettings().setUseWideViewPort(true); 
    mWebView2.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 
    mWebView2.setScrollbarFadingEnabled(true); 
    mWebView2.loadDataWithBaseURL("file:///android_asset/", "<img src=\"banner5.png\" height=\"98%\" width=\"100%\"/>", "text/html", "utf-8", null); 

hình ảnh trong thư mục nội dung

4

Nếu bạn viết HTML của bạn một cách chính xác , bạn không phải thực hiện bất kỳ "setLoadWithOverviewMode", "setUseWideViewPort" hoặc "setInitialScale". Và hoàn toàn không có lý do để kích hoạt JavaScript.

này một dòng làm việc cho tôi:

webView.loadDataWithBaseURL("file://" + directory, "<img src=\"" + name + "\" width=\"100%\"/>", "text/html", "utf-8", null);

Các nhấn mạnh HTML code là:

<img src=YourImage.png width="100%" />, bằng cách không thiết lập một chiều cao, tỉ lệ của nó sẽ được lưu giữ.

+0

Không thiết lập một chiều cao (hoặc ghi đè lên 'auto') [làm việc cho tôi] (https://github.com/FezVrasta/bootstrap-material-design/issues/768). –

0
WebSettings settings = webView.getSettings(); 

settings.setUseWideViewPort(true); 

settings.setLoadWithOverviewMode(true) 
Các vấn đề liên quan