2012-03-15 104 views
0

我使用ImageView作爲單元格視圖進行圖庫控件。我需要使ImageView大小等於圖庫高度。我怎樣才能做到這一點?我試圖設置這樣的高度:如何設置圖庫視圖單元格的高度等於圖庫高度?

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     FrameLayout retval = (FrameLayout) convertView; 
     ImageView imageView = (ImageView) retval.findViewById(R.id.image); 
     imageView.setLayoutParams(new FrameLayout.LayoutParams(parent.getHeight(), parent.getHeight())); 

但是第一個單元格的高度等於零,但下一個單元格具有正確的值。

回答

0

爲什麼不設置imageView通過參數填充父容器?

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     FrameLayout retval = (FrameLayout) convertView; 
     ImageView imageView = (ImageView) retval.findViewById(R.id.image); 
     LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); 
     imageView.setLayoutParams(layoutParams); 

也就是說,除非你想讓imageview的寬度等於畫廊的高度。然後這不會工作

0

我認爲你應該在單元格本身設置layoutParams,並讓圖像視圖scaleXY到單元格。

retval.setLayoutParams(new FrameLayout.LayoutParams(parent.getHeight(), parent.getHeight()); 
imageView.setScaleType(ScaleType.FIT_XY); 
相關問題