GridView拉伸行高?

时间:2013-05-31 17:30:46

标签: android gridview

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

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

有简单的方法吗?或者我必须通过图像适配器修复它?

提前致谢。

1 个答案:

答案 0 :(得分: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);
    }
}