[java] Metti un'immagine in una webview e misura la larghezza


0 Answers

Carica il file Html in Webview e metti la tua immagine nella cartella delle risorse e leggi il file immagine usando Html.

<htm>
  <table>
   <tr>
         <td>
           <img src="cat.gif" width="100%" alt="Hello">
         </td>
   </tr>
</table>
</html>

Ora carica il file Html in Webview

webview.loadUrl("file:///android_asset/abc.html"); 

O in un altro modo

se usi LinearLayout, puoi prendere un parametro di sfondo che può essere un colore o una risorsa.

Quindi nel file main.xml contiene la webview. hai semplicemente aggiunto un

android:background="@+drawable/backgroundmain"

e usare

   web.setBackgroundColor(0);

Per rendere la vista web trasparente per vedere l'immagine di sfondo dietro.

Question

Mi piacerebbe utilizzare una WebView per la visualizzazione di immagini potenzialmente grandi (per impossessarsi della gestione della memoria). Per il test sto caricando questo codice nella WebView

<head></head>
<body>
    <img alt="test" src="file:///android_asset/cute-cat-sleeping.jpg">
</body>

Il problema è che se lo carico in una rete "così com'è". La visualizzazione Web consente solo di ridurre fino a quando la prima dimensione dell'immagine non si adatta allo schermo. In questo esempio l'altezza dell'immagine è completamente mostrata in WebView e quindi non è più consentito lo zoom:

Come puoi vedere questa modalità non consente una visualizzazione corretta dell'immagine globale nonostante che quando l'immagine viene ingrandita il comportamento negli angoli destro e inferiore sia corretto come puoi vedere qui

Così ho provato (WebView) .getSettings (). SetUseWideViewPort (true) e il risultato è che posso ridurre più della larghezza dell'immagine

e il comportamento dello zoom non è corretto nei bordi in basso a destra:

Riassumendo: mi piacerebbe che lo zoom massimo possibile fosse imageWidth = ampiezza della visuale web e comportamento dello zoom come nella seconda immagine:

Le risposte complete e / o utili saranno raccolte

EDIT: Bounty aperto per Vinayak.B




Related