Autore Topic: android horizontalscrollview  (Letto 530 volte)

Offline gbu123

  • Utente junior
  • **
  • Post: 74
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    windows 7
android horizontalscrollview
« il: 01 Ottobre 2012, 16:41:41 CEST »
+1
ciao
se può essere di aiuto :

ho fatto un'applicazione che visualizza una galleria orizzontale con il layout horizontalscollview, visto che la gallery è sconsigliata ,

ecco il source (non sono riuscito a sistemare bene le dimensioni delle foto , perchè non sono molto esperto , però funziona e magari può essere utile lo stesso) :

Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" > 

<HorizontalScrollView     
    android:id="@+id/hsvgn" 
    android:layout_marginTop="60dp"
    android:layout_marginBottom="60dp"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent">
   
    <LinearLayout
    android:id="@+id/gn" 
    android:orientation="horizontal"
    android:layout_marginLeft="4dp"
    android:layout_marginRight="4dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
   
</HorizontalScrollView>

</FrameLayout>

Codice: [Seleziona]
public class GalleryActivityN<MotionEvent> extends Activity {

        String image1;
        String image2;
        String image3;
        String image4;

        GalleryAdapter2 myAdapter;       
        ArrayList<String> ul    = new ArrayList<String>();
        ArrayList<Drawable> urlDrawable    = new ArrayList<Drawable>();
        String site = "....";
       
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.gallerian);

                Intent intent = getIntent();

                image1 =  intent.getStringExtra("image1");
                image2 =  intent.getStringExtra("image2");
                image3 =  intent.getStringExtra("image3");
                image4 =  intent.getStringExtra("image4");
               
                ul.add(site + image1);
                if (!image2.equals(""))
                     ul.add(site + image2);
                if (!image3.equals(""))
                     ul.add(site + image3);
                if (!image4.equals(""))
                     ul.add(site + image4);

                TaskGallery ts = new TaskGallery(GalleryActivityN.this, ul);
                ts.execute("");

    }
   
        private class TaskGallery extends AsyncTask<String, Integer, String> {
                private ProgressDialog dialog;
                private Activity activity;
                private Context context;
                ArrayList<String> ul1    = new ArrayList<String>();
                int i1 = 0;
               
                private Drawable d;

                public TaskGallery(GalleryActivityN activity, ArrayList<String> ul) {
                        this.activity = activity;
                        context = activity;
                        this.dialog = new ProgressDialog(context);
                        ul1 = ul ;
                }

                protected void onPreExecute() {
                        this.dialog.setMessage("Loading...");
                        this.dialog.show();
                }

                @Override
                protected String doInBackground(String... arg0) {                       

                        for (int i=0; i<ul1.size(); i++) {     
                               
                                try {
                                        String indirizzo = ul1.get(i);
                                        InputStream is = new URL(indirizzo).openStream(); // Carico l'immagine
                                        d = Drawable.createFromStream(is, "src");
                                        urlDrawable.add(d);
                                        i1 = i1 + 1;
                                }
                                catch (MalformedURLException e) {
                                       
                                        e.printStackTrace();
                                        }
                                catch (IOException e)           {
                                        e.printStackTrace();
                                        }

                    }
                       
                        return null;
                }

                protected void onPostExecute(String result) {

                        LinearLayout hsv = (LinearLayout) findViewById(R.id.gn);

                        for (int i=0; i<i1; i++) {     
                                Drawable d = urlDrawable.get(i);
                        ImageView imageView = new ImageView(GalleryActivityN.this);
                imageView.setImageDrawable(d);
                imageView.setPadding(10,10,10, 10);
                imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
                hsv.addView(imageView);
                        }
       
                         //setContentView(hsv);
                       
                        if (this.dialog.isShowing()) {
                                this.dialog.dismiss();
                        }

                }

        }   
       
}

ciao e... auguri