2014-01-05 4 views
2

Я делаю галерею, но я застрял в одной проблеме, вот вид одного устройства, которое является обычным экраном 320x480 link и устройством 2 с более высоким разрешением экрана 720x1280 link Я хочу, чтобы устройство с высоким разрешением имело одинаковые как обычный экран. есть ли возможность сделать LayoutParams, если экран x-large будет похожим на new imageView.setLayoutParams(GridView.LayoutParams(200, 200)); или больше? как это сделать?Как использовать различные LayoutParams

public View getView(int position, View convertView, ViewGroup parent) {   
    ImageView imageView = new ImageView(mContext); 
    imageView.setImageResource(mThumbIds[position]); 
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
    imageView.setLayoutParams(new GridView.LayoutParams(100, 100)); 
    return imageView; 
} 

ответ

1

вы можете сделать это напрямую, используя другую папку значения и поместить dimen.xml внутри значения папку и обеспечивают измерение, как вы хотите применить на макет Params.

, например, для устройств с разрешением ИПЧРА: делают папку значения-ИПЧР -> добавить dimen.xml внутри dimen.xml добавить измерение как

<dimen name="gridview_size">100dp</dimen> 

Теперь годам просто нужно изменить только одну строку в ваш код, и это

int dimen = (int) (getResources().getDimensionPixelSize(R.dimen.gridview_size)/getResources().getDisplayMetrics().density); 
imageView.setLayoutParams(new GridView.LayoutParams(dimen, dimen)); 

то, что вы сделали для использования 720x1280 устройств значения-xhdpi/значения-sw360dp-xhdpi папки

+0

вы имеете в виду Лика Это? Я получаю сообщение об ошибке: S публичного просмотра GetView (INT позицию, Вид convertView, ViewGroup родитель) {\t \t \t \t \t ImageView ImageView = новый ImageView (mContext); imageView.setImageResource (mThumbIds [position]); imageView.setScaleType (ImageView.ScaleType.CENTER_CROP); int dimen = (int) (getResources(). GetDimensionPixelSize (R.dimen.gridview_size)/getResources(). GetDisplayMetrics(). Плотность); imageView.setLayoutParams (новый GridView.LayoutParams (dimen, dimen)); return imageView; \t} } – ArmsOP

+0

вам необходимо установить параметры макета перед настройкой изображения на изображение. Можете ли вы сказать мне, какую ошибку вы получаете? –

+0

Мне нужен метод [link] (http://i.imgur.com/Gd2h9wn.jpg?1) – ArmsOP

Смежные вопросы