2010-05-16 18 views
8

sto cercando di allineare quattro uguali dimensioni piazze su uno schermo di Android & Ora ho provato quello che si sente come un milione di approcci diversi, ma nessuno di loro sembra funzionare :(Android:. L'allineamento di quattro quadrati

quello che ho in questo momento è la seguente:.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:id="@+id/MasterLayout" android:layout_width="wrap_content"  android:layout_height="fill_parent" android:background="#FFFFFF"> 
<TableLayout android:layout_width="fill_parent" android:id="@+id/mainlay" android:background="#444444" android:layout_weight="0.2" android:layout_height="wrap_content" android:padding="0dip"> 
    <TableRow android:layout_weight="1" android:background="#BBBBBB" android:padding="0dip"> 
     <ImageView android:id="@+id/ImageView1" android:layout_marginLeft="10px" android:layout_weight="1" android:layout_marginRight="5px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView> 
     <ImageView android:id="@+id/ImageView2" android:layout_marginLeft="5px" android:layout_weight="1" android:layout_marginRight="10px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView> 
    </TableRow> 
    <TableRow android:layout_weight="1" android:padding="0dip"> 
     <ImageView android:id="@+id/ImageView3" android:layout_marginLeft="10px" android:layout_weight="1" android:layout_marginRight="5px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView> 
     <ImageView android:id="@+id/ImageView4" android:layout_marginLeft="5px" android:layout_weight="1" android:layout_marginRight="10px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView> 
    </TableRow> 
</TableLayout> 
</LinearLayout> 

Questo fa sostanzialmente il lavoro Tuttavia, ognuno di quei quattro immagini ha un enorme imbottitura sopra e sotto di essa Come faccio a sbarazzarsi di questo. ? O devo usare un diverso tipo di layout completamente?

Per aiutare a illustrare il mio problema, ecco un'immagine. Sulla sinistra c'è quello che ho, sulla destra c'è quello di cui ho bisogno. Image

Grazie mille!

Cheers, Markus!

risposta

3

Rimuovere layout_weight dal TableRows e impostare il numero layout_height su wrap_content. Quindi aggiungi un TableRow vuoto sotto di loro con layout_height impostato su fill_parent.

+0

Grazie! Questo trucco con il layout fill_parent era quello che stavo cercando. – metter

0

Provare a usare scaleType come centerCrop, se la dimensione dell'immagine è maggiore allora questo farà il trucco per voi. Ma questo non è il modo migliore per farlo, sarebbe meglio cambiare le risorse dell'immagine.

HTH!

+0

Ciao Karan. Grazie per il tuo suggerimento. Comunque sembra che la mia descrizione non fosse troppo chiara (e soprattutto l'immagine); Ho bisogno che i quadrati rimangano quadrati. Dovrebbero essere il più grande possibile in una griglia 2x2. Ma lo spazio rimanente sullo schermo non deve essere tra i quattro quadrati, ma sotto di loro nella parte inferiore dello schermo. Hai un puntatore per me? Grazie. – metter

0

Prova a impostare l'altezza ImageView su fill_parent, penso che dovrebbe fare il trucco. Ad ogni modo, sarebbe di aiuto se le tue proprietà XML fossero divise in righe, è difficile per noi leggere una singola riga di proprietà.

Inoltre, perché posizionare un TableLayout all'interno di un LinearLayout? A meno che tu non abbia più elementi all'interno di quella Lineare, puoi sbarazzartene.

+0

Sfortunatamente, questo non ha avuto l'effetto desiderato. Grazie per il tuo tempo! @ Codice; hai ragione. Ora l'ho ristrutturato su più righe. – metter

Problemi correlati