2014-01-05 27 views
2

我正在畫廊,但我卡住了一個問題,這裏是一個設備的視圖,這是正常的屏幕320x480 link和設備2具有更高的屏幕分辨率720x1280 link我想高分辨率設備也有作爲正常屏幕查看。是否有任何選項使LayoutParams如果屏幕x-大到像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

你的意思是LIK這是嗎?我得到錯誤:S public view getView(int position,View convertView,ViewGroup parent){\t \t \t \t \t ImageView imageView = new ImageView(mContext); imageView.setImageResource(mThumbIds [position]); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); ()。getDimensionPixelSize(R.dimen.gridview_size)/ getResources()。getDisplayMetrics()。density); imageView.setLayoutParams(new GridView.LayoutParams(dimen,dimen)); return imageView; \t} } – ArmsOP

+0

您需要在將圖像設置爲imageview之前設置佈局參數。 你能告訴我你得到哪個錯誤嗎? –

+0

我需要的方法[鏈接](http://i.imgur.com/Gd2h9wn.jpg?1) – ArmsOP

相關問題