Secondo il mio consiglio se si dispone di due opzioni per rendere tale layout e getout dal problema che si sta avendo.
1. Utilizzare GridView
Utilizzando GridView si avrà lo stesso spazio in tutte le quattro direzioni (sinistra, destra, in alto, in basso). Non devi preoccuparti della spaziatura uguale per l'elemento della griglia.
<GridView
android:id="@+id/album_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:cacheColorHint="#00000000"
android:gravity="center"
android:numColumns="auto_fit"
android:stretchMode="spacingWidthUniform"
android:drawSelectorOnTop="true"/>
Basta provare sopra il codice con il quale avrete tutte vista equamente distribuiti nella griglia.
2. Usare TableLayout e TableRow
favore controlla sotto codice per utilizzare TableLayout e TableRow con l'attributo di avere tutti Vedi equamente distribuite. Anche se riduci l'altezza e la larghezza del TableLayout, rimarrà equamente organizzato in quella vista.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_margin="5dp">
<TableRow android:weightSum="3"
android:layout_weight="1" android:gravity="center">
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
</TableRow>
<TableRow android:weightSum="3" android:layout_weight="1" android:gravity="center">
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
</TableRow>
<TableRow android:weightSum="3" android:layout_weight="1" android:gravity="center">
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
</TableRow>
</TableLayout>
Si prega di trovare l'uscita di questo TableLayout.
Fammi sapere se questo problema è stato risolto. Altrimenti, sarò felice di aiutarti ancora.
Enjoy Coding ...:)
fonte
2015-02-10 07:30:46
quale 'ViewGroup' stai usando? Sto pensando che la tua soluzione sia 'Gravity.CENTER' per' match_parent' children – Elltz
hai qualche motivo per usare 'android: textSize =" 90dp "' ?? prova la direttiva approvata e vedi 'android: textSize =" 90sp "' – Elltz
hi @Eltz, l'app è per le persone con problemi di vista e utilizza già la dimensione massima del testo possibile. Quindi, se uso SP, posso correre il rischio che l'utente scelga una dimensione di testo grande e interrompa l'interfaccia utente. Tutti i pulsanti sono in un TableRow, ho provato a modificare l'altezza per match_parent sul pulsante e ho ancora lo stesso problema. Ancora non penso che abbia nulla a che fare con l'altezza. – lisovaccaro