在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(度量);这是一种更好的方法