- Post del forum: 16
21 mag 2015, 16:23:06 Tramite pagina web
21 mag 2015 16:23:06 Tramite pagina web
Salve a tutti, un quesito semplice (se si conosce la risposta ).
Io ho una gridview di immagini alla quale ho impostato nell'XML il numero di colonne.
qui il codice XML:
<GridView xmlns:android="http :/ /schemas.android.com/apk/res/android"
android:id="@+id/grid_view_bambini14"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:numColumns="@integer/grid_columns" <!-- il valore di grid_colums è deciso in res/values a seconda se l'orientamento del dispositivo è landscape o portrait -->
android:horizontalSpacing="10sp"
android:verticalSpacing="10sp"
android:gravity="center"
android:stretchMode="columnWidth" >
e questo è il codice java che popola le celle:
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setLayoutParams(new GridView.LayoutParams(GridView.AUTO_FIT , 260));
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
Ora, il problema è che l'altezza delle celle. Le immagini sono sempre alte uguali, ma le celle che le contengono a seconda del dispositivo (presumo in base a risoluzione e densità) a volte vanno bene e altre diventano altissime.
credo che il parametro sotto accusa sia in questa linea:
imageView.setLayoutParams(new GridView.LayoutParams(GridView.AUTO_FIT , 260));
ma ho fatto già diversi esperimenti e non viene mai bene. Anche mettere GridView.AUTO_FIT anche nell'altezza si risolve in una schifezza.
C'è un modo in cui si può risolvere questo problema?
Grazie!...
Contenuti editoriali consigliati
Con il vostro consenso, qui vengono caricati contenuti esterni.
Facendo clic sul pulsante qui sopra, l'utente accetta che vengano visualizzati contenuti esterni. I dati personali possono essere trasmessi a fornitori terzi. Per ulteriori informazioni al riguardo, consultare il nostro sito Informativa sulla privacy.