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

Jos*_*sue 5 android gridview image image-size

我按照本教程创建GridView:

这一行:

imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
Run Code Online (Sandbox Code Playgroud)

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

我有2种不同的布局,但GridviewXML文件中没有任何属性来更改图像大小.

Wil*_*ate 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;
}
Run Code Online (Sandbox Code Playgroud)


dmo*_*mon 6

类似于willytate的回答,但你最好在xml(85dp)中创建一个维度值,并像这样检索它:

  int size = resources.getDimensionPixelSize(R.dimen.your_dimension);
Run Code Online (Sandbox Code Playgroud)

这样,宽度/高度将保持一致,无需担心太多.