Изменение размера изображений в GridView на Android - PullRequest
5 голосов
/ 01 июня 2011

Я следую этому руководству, чтобы создать GridView :

Эта строка:

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

Размер 85x85 отлично подходит для моего Wildfire, но в HTC Desire он выглядит очень маленьким. Как я могу изменить размер изображения в соответствии с экраном?

У меня есть 2 разных макета, но Gridview не имеет атрибутов в файлах XML для изменения размера изображения.

Ответы [ 2 ]

8 голосов
/ 01 июня 2011

Вы можете попытаться выполнить настройку на основе плотности пикселей текущего устройства, на котором вы находитесь.

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;
}
6 голосов
/ 01 июня 2011

Аналогично ответу willytate, но вам лучше создать значение размерности в xml (для 85 dp) и получить его следующим образом:ширина / высота будет определяться одинаково, без особого беспокойства.

...