我在我的应用程序中使用 GridView。我想知道对于行高是否有等效的GridView.STRETCH_COLUMN_WIDTH。
换句话说,我希望 GridView 单元格中图像的高度被拉伸,就像它们的宽度一样。
有没有简单的方法?或者我必须通过图像适配器修复它?
提前致谢。
您可以创建一个宽度随高度变化的图像视图。这样,如果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);
}
}