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:
e questo è il codice java che popola le celle:
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:
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!...
Io ho una gridview di immagini alla quale ho impostato nell'XML il numero di colonne.
qui il codice XML:
Codice:
<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:
Codice:
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:
Codice:
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!...