Autore Topic: Gallery con WebView  (Letto 590 volte)

Offline SalvoCt

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Tablet Asus
  • Sistema operativo:
    Windows 7
Gallery con WebView
« il: 20 Febbraio 2012, 11:47:54 CET »
0
Salve a tutti amici del forum! Sto realizzando una Gallery fotografica in full screen. Siccome volevo che l'immagine fosse zoommabile, sto utilizzando le webview come contenitore. Ecco il codice che implementa questo meccanismo:

Adapter per le immagini
Codice (Java): [Seleziona]
public class ImageAdapter extends BaseAdapter {

        ArrayList<String> nomi;
       
        Context c;
        LayoutInflater inflater;
       
        public ImageAdapter(Context c)
        {
                this.c=c;
                inflater=LayoutInflater.from(this.c);
                nomi=new ArrayList<String>();
        }
       
        public void addItem(String s)
        {
                nomi.add(s);
        }
        public int getCount() {
                // TODO Auto-generated method stub
                return nomi.size();
        }

        public Object getItem(int arg0) {
                // TODO Auto-generated method stub
                return nomi.get(arg0);
        }

        public long getItemId(int arg0) {
                // TODO Auto-generated method stub
                return arg0;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
               
                ViewHolder holder=null;
               
                if(convertView==null)
                {
               
                        Log.i("getV",nomi.get(position));
                        convertView=inflater.inflate(R.layout.single_image_gallery, null);
                        holder=new ViewHolder();
                        holder.wv=(WebView)convertView.findViewById(R.id.id_img);
                        convertView.setTag(holder);
                }
                else
                        holder=(ViewHolder)convertView.getTag();
               
               
                holder.wv.getSettings().setBuiltInZoomControls(true);
                holder.wv.getSettings().setSupportZoom(true);
                holder.wv.setLayoutParams(new FrameLayout.LayoutParams(1280,752));
                  String html="<html><body><image src='"+nomi.get(position)+"' width='1000' height='1000'></body></html>";
               
            holder.wv.loadDataWithBaseURL("file:///android_asset/", html, "text/html", "utf-8", null);
               
                // TODO Auto-generated method stub
                return convertView;
        }
       
        private class ViewHolder
        {
                public WebView wv;
               
                public ViewHolder(){};
        }
       
}

Poi nell'activity setto l'adapter così
Codice (Java): [Seleziona]
Gallery myGallery=(Gallery)findViewById("R.id.gallery1");
Al momento di eseguire il codice, ho questo errore :

webcore : not supported in this case
webcore : can't get viewWidth after the first layout

Posto pure i file xml :

home_galleria
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/id_cont"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical" >



    <com.incomingweb.MyGallery
       android:id="@+id/myGallery1"
       android:layout_width="match_parent"
       android:layout_height="match_parent" />

</LinearLayout>

single_image_gallery
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/id_cont_img"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >

    <WebView
       android:id="@+id/id_img"
       android:layout_width="match_parent"
       android:layout_height="match_parent" />

</FrameLayout>


Qualcuno mi può aiutare? Sto impazzendo :(

UPDATE 17:25
Ragazzi questa è davvero bella! Prendo lo stesso codice e lo metto in un progetto pulito e funziona! Però a me serve proprio nel progetto dove lo stavo implementando! :(
« Ultima modifica: 20 Febbraio 2012, 17:27:19 CET da SalvoCt, Reason: Ulteriori dettagli »

Offline SalvoCt

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Tablet Asus
  • Sistema operativo:
    Windows 7
Re:Gallery con WebView
« Risposta #1 il: 27 Febbraio 2012, 11:26:06 CET »
0
Risolto! Vi posto la mia soluzione!

Ho modificato semplicemente il file single_image_gallery.xml in questo modo
Codice (XML): [Seleziona]
 
<?xml version="1.0" encoding="utf-8"?>
<WebView
      android:id="@+id/id_img"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" />


Però adesso ho un altro problema, lo posto qui o apro un nuovo topic? Attendo risposte :)