2013-05-31 60 views
1

我在我的应用程序中使用GridView。我想知道是否有相当于GridView.STRETCH_COLUMN_WIDTH,行高。GridView拉伸行高?

换句话说,我希望GridView单元格中的图像的高度被拉伸,就像它们的宽度一样。

有没有简单的方法?或者我将不得不通过图像适配器修复它?

在此先感谢。

回答

0

您可以创建一个图像视图,其宽度根据高度而变化。这样如果GridView只有一个ImageView,它将保持平方。

例如:

public class SquareImageView extends ImageView { 

    public SquareImageView(final Context context) { 
     super(context); 
    } 

    public SquareImageView(final Context context, final AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public SquareImageView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
    } 

    @Override 
    protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) 
    { 
     int width = getDefaultSize(getSuggestedMinimumWidth(),widthMeasureSpec); 
     setMeasuredDimension(width, width); 
    } 

    @Override 
    protected void onSizeChanged(final int w, final int h, final int oldw, final int oldh) 
    { 
     super.onSizeChanged(w, w, oldw, oldh); 
    } 
} 
+0

那将是很好的短显示器。但是在大多数情况下,GridView的高度总是大于宽度。 – NickPro