2

15 個の画像を GridView に正常に配置する配列があります。ただし、グリッドに表示すると、画像はすべて非常に小さくなります。それらのサイズを変更するにはどうすればよいですか?GridView.LayoutParams を (100, 100) に変更しようとしましたが、変更はないようです。

public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView = new ImageView(mContext);
    imageView.setImageResource(mThumbIds[position]);
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
    return imageView;
4

2 に答える 2

1

デバイスまたはエミュレータのピクセル密度に基づいて調整を試みることができます

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi){
     case DisplayMetrics.DENSITY_LOW:
                imageView.setLayoutParams(new GridView.LayoutParams(lowVal, lowVal));
                break;
     case DisplayMetrics.DENSITY_MEDIUM:
                imageView.setLayoutParams(new GridView.LayoutParams(medVal, medVal));
                break;
     case DisplayMetrics.DENSITY_HIGH:
                 imageView.setLayoutParams(new GridView.LayoutParams(highVal, highVal));
                 break;
}
于 2012-12-05T17:45:26.353 に答える
0

これを変更してみてください:

imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

これに:

imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);

FIT_XY に設定することもできますが、歪みが生じます。

それが役立つことを願っています

于 2012-12-05T17:44:40.470 に答える