在Android上的GridView中调整图像大小

时间:2011-06-01 12:56:36

标签: android image gridview image-size

我按照本教程创建 GridView

这一行:

imageView.setLayoutParams(new GridView.LayoutParams(85, 85));

尺寸85x85非常适合我的Wildfire,但在HTC Desire上看起来非常小。 如何根据屏幕更改图像大小?

我有两种不同的布局,但Gridview在XML文件中没有任何属性来更改图像大小。

2 个答案:

答案 0 :(得分:8)

您可以尝试根据当前设备的像素密度进行调整。

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 :(得分:6)

与willytate的答案类似,但你最好在xml(85dp)中创建dimension值,然后像这样检索它:

  int size = resources.getDimensionPixelSize(R.dimen.your_dimension);

这样,宽度/高度的大小将保持一致,而不必担心太多。