我有一个成功将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;
答案 0 :(得分: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;
}
答案 1 :(得分:0)
尝试改变这个:
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
对此:
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
您也可以将其设置为FIT_XY,但会引入失真。
希望有所帮助