Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android上调整GridView中的图像大小_Android_Image_Gridview_Image Size - Fatal编程技术网

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

在Android上调整GridView中的图像大小,android,image,gridview,image-size,Android,Image,Gridview,Image Size,我按照本教程创建了一个: 这一行: imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); 尺寸85x85对于我的Wildfire来说非常好,但在HTC Desire上它看起来非常小。 如何根据屏幕更改图像大小 我有两种不同的布局,但是Gridview在XML文件中没有任何属性来更改图像大小。您可以尝试根据当前设备的像素密度进行调整 DisplayMetrics metrics = new DisplayMetrics();

我按照本教程创建了一个

这一行:

imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
尺寸85x85对于我的Wildfire来说非常好,但在HTC Desire上它看起来非常小。 如何根据屏幕更改图像大小


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

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

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;
}

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

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

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

完美,这个答案是完美的。谢谢Syed,如果您使用的是片段,则必须首先获取活动:getActivity().getWindowManager().getDefaultDisplay().getMetrics(度量);这是一种更好的方法