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:


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!...