2010-10-13 13 views
10

Web görüntülemenin yakınlaştırma yeteneklerinden yararlanabilmesi için görüntüleri SD karttan web görünümünde görüntülemeyi planlıyorum. Bununla birlikte, bir ImageView gibi, başlangıçta ekrana sığdırmak için ekran boyutundan daha büyük (örneğin 1800x1200) görüntülerin görüntülenmesiyle ilgili bir sorunla karşılaşıyorum. İlk başta tam olarak görüntülenmesini ve kullanıcılara zoom kontrolü sağlamasını istiyorum. Web görünümünün genişliği ve yüksekliği için WRAP_CONTENT kullanmayı denedim, ancak bu çalışmaz. Herhangi bir fikrin var mı?Resmi webview'de görün

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

Olası yinelenen [Can Android'in WebView otomatik dev resimlerinizin boyutunu?] (http://stackoverflow.com/questions/3099344/can-androids-webview-automatically-resize-huge-images) –

cevap

3

benim için hile yaptı: doğru şekilde HTML yazarsanız

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); 

Görüntüler varlıklar klasörüne

4

içindedir takiben kullanıyorum kod parçacığı İşte "setLoadWithOverviewMode", "setUseWideViewPort" veya "setInitialScale" yapmak zorunda değilsiniz. JavaScript'i etkinleştirmek için kesinlikle bir neden yok.

Bu bir satır

benim için çalıştı:

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

altını HTML kodu aşağıdadır:

<img src=YourImage.png width="100%" />, bir yükseklik ayar vermeyerek, uzunluk oran tutulacaktır. arasında

+0

bir ayar değil Ayrıca (benim için çalıştı) (benim için çalıştı) (https://github.com/FezVrasta/bootstrap-material-design/issues/768). –

0
WebSettings settings = webView.getSettings(); 

settings.setUseWideViewPort(true); 

settings.setLoadWithOverviewMode(true)