2012-03-15 108 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); 
相关问题