Il Forum è consultabile solo in modalità lettura. Per domande o consigli iscriviti al nostro GRUPPO FACEBOOK / COMMUNITY cliccando qui

problema visualizzazione gallery

Discussione in 'Development' iniziata da Bazz, 29 Ago 2012.

  1. Bazz

    Bazz Worker Droid

    Iscritto:
    9 Ago 2012
    Messaggi:
    61
    "Mi Piace":
    1
    ciao
    scusate se scrivo troppi post ,
    ho il seguente problema ;
    se cerco di visualizzare una gallery di foto mi da come risultato la prima foto ed una striscia nera verticale
    (forse parte delle foto successive) , credo che siano tutte sovrapposte ;
    ho preso spunto da esempi su web , ecco il codice :

    galleria.xml
    Codice:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" 
        android:id="@+id/galleriaLayout">
        
        <Button
            android:id="@+id/ritorna"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"
            android:text="torna" />
        
        <Gallery android:id="@+id/gallery" 
                 android:layout_width="wrap_content" 
                 android:layout_height="wrap_content">    
        </Gallery>
        
    </LinearLayout>
    

    galleria_riga.xml (credo non serva, giusto ?) :
    Codice:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:orientation="horizontal" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:id="@+id/gallery_item">
    
        <ImageView
            android:id="@+id/imageView"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:scaleType="fitXY"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:src="@drawable/foto1" />
            
    </LinearLayout>
    
    Galleria_act.java
    Codice:
    package com.example.pippo;
    
    import java.util.ArrayList;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Context;
    import android.content.Intent;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.Gallery;
    import android.widget.ListView;
    import android.widget.TextView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.AdapterView.OnItemSelectedListener;
    import android.widget.Toast;
    
    public class GalleriaAct extends Activity {
    	
        protected Context mContext; 
        protected ArrayList<String>  mat2;
        @SuppressWarnings("deprecation")
    	private Gallery galleria1 ;
        private imgAdapter imgAdapt ;
    	
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.galleria);
            mContext = this;
            
            Intent int2 = getIntent();
            
           // Find the Gallery resource.          
           galleria1 = (Gallery) findViewById( R.id.gallery );
          
          // Collegamento con la sorgente dati da visualizzare.  
           imgAdapt = new imgAdapter(this);  
        	
           // Set the ArrayAdapter as the Gallery adapter.  
           galleria1.setAdapter( imgAdapt );
           
           //@override 
           galleria1.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
                            Toast.makeText(GalleriaAct.this, "" + position, Toast.LENGTH_SHORT).show(); 
                     	    }
           });
            
        }
    
    }
    
    
    imdAdapter.java
    Codice:
    package com.example.pippo;
    
    import java.util.ArrayList;
    
    import android.content.Context;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.ImageView;
    import android.widget.Gallery;
    
    public class imgAdapter extends BaseAdapter {
      private final Context context;
    
      // Keep all Images in array
      public Integer[] mThumbIds = {	
    	         R.drawable.foto1, R.drawable.foto2,
    	         R.drawable.foto3, R.drawable.foto4,
    	         R.drawable.foto5, R.drawable.foto6,
    	         R.drawable.foto7, R.drawable.foto8,
                 R.drawable.foto9
      };
      
      public imgAdapter(Context context) {
        this.context = context;
      }
    
      //@Override
      public int getCount() {
          return mThumbIds.length;
      }
    
      //@Override
      public Object getItem(int position) {
          return null;
      }
    
      public long getItemId(int position) {
          return 0;
      }
    
      //@Override
      public View getView(int position, View convertView, ViewGroup parent) {
          ImageView imageView = new ImageView(context);
          imageView.setImageResource(mThumbIds[position]);
          return imageView;
      	}
      
    } 
    
    
    cosa succede ?
    grazie, ciao

    P.S. unsa domanda : perchè bisogna scrivere la riga //@override ? , non è un commento in java ?
     
    Ultima modifica: 29 Ago 2012
  2. acer1629

    acer1629 Worker Droid

    Iscritto:
    22 Ago 2012
    Messaggi:
    113
    "Mi Piace":
    22
    Per il tag <Gallery> proverei a sostituire questi :
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    con questi :
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"

    Vedi che risultato ti da e postaci una print screen nel caso non andasse bene.
     
  3. Bazz

    Bazz Worker Droid

    Iscritto:
    9 Ago 2012
    Messaggi:
    61
    "Mi Piace":
    1
    perfetto , grazie mille
    ora funziona , ma le foto sono tutte appiccicate .. , come si fa per separarle un pò ?

    se volessi evidenziare una delle foto e visualizzarla ingrandita ?

    riguardo alla domanda : perchè bisogna scrivere la riga //@override ? , non è un commento in java ?

    scusa la gragnuola di domande

    grazie ancora

    ciao
     
  4. acer1629

    acer1629 Worker Droid

    Iscritto:
    22 Ago 2012
    Messaggi:
    113
    "Mi Piace":
    22
    Penso che //@override scritto cosi non serva a nulla, è sicuramente un commento inserito in quel punto specifico per indicare che stai riscrivendo un metodo della classe che stai estendendo.
    L'unico commento che viene preso in considerazione in JAVA comincia con /** e finisce con */ e sono quei commenti che verranno poi usati nella generazione automatica della documentazione tramite javadoc.
    Tutto ciò che comincia con // è un commento e come tale non serve a nulla nel runtime.
    Per la questione spazio tra le immagini ... prova da codice a usare il metodo imageView.setPadding(int left, int top, int right, int bottom); passandogli 4 int dovrebbe darti la giusta spaziatura.
    Per l'ingrandimento sinceramente non saprei ... spulciati la documentazione in merito alla gallery, magari trovi qualcosa di utile ... anzi quasi sicuramente negli esempi di Android che scarichi con l'SDK c'è qualcosa che fa al caso tuo.
    Ti consiglio di leggere anche questo : Grid View | Android Developers ;)
     
  5. Bazz

    Bazz Worker Droid

    Iscritto:
    9 Ago 2012
    Messaggi:
    61
    "Mi Piace":
    1
    grazie mille ,
    per fare una galleria orizzontale di immagini c'è un altro layout da utilizzare ?
    mi sembra che , a parte listview che però è verticale , gli altri siano fissi , o sbaglio ?
    scusa se approfitto , a proposito di //@overrid , ho visto che non devo togliere le //
    sennò mi da errore ,
    grazie
    ciao
     
  6. acer1629

    acer1629 Worker Droid

    Iscritto:
    22 Ago 2012
    Messaggi:
    113
    "Mi Piace":
    22
    L'override qui è spiegato benissimo e in modo semplice Override - Wikipedia
    Se ti da errore è perchè stai modificando nel modo errato il metodo che stai ereditando. Che errore ti da ?
    In teoria @override non è altro che una notazione che ti aiuta a capire se effettivamente stai modificando il metodo ereditato.
    Guarda la sezione "Annotazione sull'override" del link che ti ho passato e capirai ! ;)
    Per la disposizione se provi a settare nel file galleria_riga.xml il LinearLayut con orientamento in verticale ?
    Non cambia ?
     
  7. Bazz

    Bazz Worker Droid

    Iscritto:
    9 Ago 2012
    Messaggi:
    61
    "Mi Piace":
    1
    grazie mille
    ciao