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

galleria con horizontalscrollview

Discussione in 'Development' iniziata da Bazz, 1 Ott 2012.

  1. Bazz

    Bazz Worker Droid

    Iscritto:
    9 Ago 2012
    Messaggi:
    61
    "Mi Piace":
    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:
    <?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:
    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
     
    A Morissio piace questo elemento.
  2. acer1629

    acer1629 Worker Droid

    Iscritto:
    22 Ago 2012
    Messaggi:
    113
    "Mi Piace":
    22
    Ciao Bazz,

    grazie per aver condiviso il tuo codice con noi, sicuramente a qualcuno tornerà utile ! ;)