Autore Topic: Sfogliare immagini  (Letto 1471 volte)

Offline akus85

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • akus85
    • Mostra profilo
    • BitOverflow.it
  • Dispositivo Android:
    Galaxy Nexus S
  • Play Store ID:
    akus.py
  • Sistema operativo:
    Mac OS
Sfogliare immagini
« il: 12 Novembre 2010, 23:23:42 CET »
0
Come da titolo dovrei sfogliare delle immagini muovendo avanti o indietro a seconda del movimento del dito...sto usando la GestureDetector per intercettare i movimenti e mi sono creato delle animazioni per l'uscita-entrata da sinistra e destra...solo che non ho idea su come comportarmi sul Layout visto che ho una struttura di questo tipo :

<LinearLayout>
     <ImageView>



Offline droid7

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +4
    • droidrcc
    • Mostra profilo
    • echlabSoftware
  • Dispositivo Android:
    Lg Optimus One
  • Play Store ID:
    echlab software
  • Sistema operativo:
    Archlinux
Re:Sfogliare immagini
« Risposta #1 il: 13 Novembre 2010, 00:08:18 CET »
0
Mi sa tanto che fai prima se usi le Gallery: http://developer.android.com/reference/android/widget/Gallery.html :)
Android applications: echlabSoftware

Offline akus85

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • akus85
    • Mostra profilo
    • BitOverflow.it
  • Dispositivo Android:
    Galaxy Nexus S
  • Play Store ID:
    akus.py
  • Sistema operativo:
    Mac OS
Re:Sfogliare immagini
« Risposta #2 il: 13 Novembre 2010, 11:24:33 CET »
0
Mi sa tanto che fai prima se usi le Gallery: http://developer.android.com/reference/android/widget/Gallery.html :)

Il problema è che non voglio visualizzare la miniatura dell'immagine ma voglio scorrerle  muovendo il dito!  :-)

Offline MMarko

  • Utente junior
  • **
  • Post: 128
  • Respect: +5
    • MarcoMatarazzi
    • Mostra profilo
    • La Rocchetta Bed And Breakfast
  • Dispositivo Android:
    HTC Legend
  • Play Store ID:
    MarcoMatarazzi
Re:Sfogliare immagini
« Risposta #3 il: 02 Dicembre 2010, 17:51:20 CET »
0
Il problema è che non voglio visualizzare la miniatura dell'immagine ma voglio scorrerle  muovendo il dito!  :-)

Basta fare la "miniatura" grande a tutto schermo, no?

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Sfogliare immagini
« Risposta #4 il: 02 Dicembre 2010, 19:44:27 CET »
0
oppure fai una gallery in basso allo schermo e poi un imageview sopra...

un po come quando scegli lo sfondo di android

Offline MMarko

  • Utente junior
  • **
  • Post: 128
  • Respect: +5
    • MarcoMatarazzi
    • Mostra profilo
    • La Rocchetta Bed And Breakfast
  • Dispositivo Android:
    HTC Legend
  • Play Store ID:
    MarcoMatarazzi
Re:Sfogliare immagini
« Risposta #5 il: 02 Dicembre 2010, 19:57:11 CET »
0
oppure fai una gallery in basso allo schermo e poi un imageview sopra...

un po come quando scegli lo sfondo di android

Ho gia scritto il codice di quello che suggeriva Qlimax:
Codice (Java): [Seleziona]
public class Menu extends Activity implements ViewFactory {
       
        // Immagini del menu
        Integer[] immaginiGrandi = {
                        R.drawable.pic1,
                        R.drawable.pic2,
                        R.drawable.pic3,
                        R.drawable.pic5,
                        R.drawable.pic4,
                        R.drawable.pic6
                        };
       
        //anteprime
        Integer[] immaginiPiccole = {
                        R.drawable.small1,
                        R.drawable.small2,
                        R.drawable.small3,
                        R.drawable.small5,
                        R.drawable.small4,
                        R.drawable.small6
                        };

        private ImageSwitcher imageSwitcher;
       
        //variabile per la gestione degli intent
        public int selezione = 0;

        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.menu_principale);
               
                //Pulsante per il GPS
                Button entra = (Button)findViewById(R.id.pulsante_main);
                entra.setTypeface(null, Typeface.BOLD);
                entra.setTextSize(16);
               
                //PULSANTE PER ENTRARE NELLE VARIE VOCI
                entra.setOnClickListener(new OnClickListener() {
                        public void onClick(View v) {
                                if(selezione == 0){
                                        Intent i1 = new Intent(Menu.this, Nome.class);
                                        startActivity(i1);
                                }else if(selezione == 1){                                      
                                        Intent i2 = new Intent(Menu.this, Nome.class);
                                        startActivity(i2);
                                }else if(selezione == 2 ){
                                        Intent i3 = new Intent(Menu.this, Nome.class);
                                        startActivity(i3);
                                }else if(selezione == 4){
                                        Intent i4 = new Intent(Menu.this, Nome.class);
                                        startActivity(i4);
                                }else if(selezione == 5){
                                        Intent i5 = new Intent(Menu.this, Nome.class);
                                        startActivity(i5);
                                } else {                       
                                        Intent i6 = new Intent(Menu.this, Nome.class);
                                        startActivity(i6);
                                }
                        }
                });

                imageSwitcher = (ImageSwitcher) findViewById(R.id.switcher1);

                imageSwitcher.setFactory(this);
                imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
                imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));

                // la prima immagine deve essere gia visualizzata sullo sfondo
                imageSwitcher.setImageResource(immaginiGrandi[0]);

                Gallery gallery = (Gallery) findViewById(R.id.gallery1);

                gallery.setAdapter(new ImageAdapter(this));
                gallery.setOnItemClickListener(new OnItemClickListener() {
                        @SuppressWarnings("unchecked")
                        public void onItemClick(AdapterView parent, View v, int position, long id) {
                                imageSwitcher.setImageResource(immaginiGrandi[position]);
                                selezione = position;
                        }
                });
       
        }

        public View makeView() {
                ImageView imageView = new ImageView(this);
                imageView.setBackgroundColor(0xFF000000);
                imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
                imageView.setLayoutParams(new ImageSwitcher.LayoutParams(
                                LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
               

                return imageView;
        }

        public class ImageAdapter extends BaseAdapter {
                private Context context;
                private int itemBackground;

                public ImageAdapter(Context c) {
                        context = c;

                        // ---setting the style---
                        TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);
                        itemBackground = a.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 0);
                        a.recycle();
                }

                // ---returns the number of images---
                public int getCount() {
                        return immaginiGrandi.length;
                }

                // ---returns the ID of an item---
                public Object getItem(int position) {
                        return position;
                }

                public long getItemId(int position) {
                        return position;
                }

                // ---returns an ImageView view---
                public View getView(int position, View convertView, ViewGroup parent) {
                        ImageView imageView = new ImageView(context);
                        imageView.setImageResource(immaginiPiccole[position]);
                        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
                        imageView.setLayoutParams(new Gallery.LayoutParams(100, 80));
                        imageView.setBackgroundResource(itemBackground);               
                        return imageView;
                }
        }
       
    public void onBackPressed() {
        Log.d("CDA", "onBackPressed Called");
        Intent setIntent = new Intent(this, Menu.class);
        setIntent.addCategory(Intent.CATEGORY_HOME);
        setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(setIntent);
        return;
    }
}

Il risultato che ottieni è quello in foto (che se non ho capito male è quello che suggerisce Qlimax).


;)

EDIT:
se poi avete tempo di fare un salto sull'altra discussione ve ne sarei grato  :-)
http://www.anddev.it/index.php/topic,1549.new.html#new
« Ultima modifica: 02 Dicembre 2010, 20:05:00 CET da MMarko »