在 GridLayoutView 中获取项目宽度

Getting Item width in GridLayoutView

我正在使用 GridLayoutView,我正在向其中添加图像。我希望项目之间有 3 列和间距。到目前为止,一切正常,但是在添加图像时,我想获取项目的宽度。我可以使用 parent.getWidth() / 3 但我需要将间距计算为项目的宽度。有没有简单的方法可以获取每个项目的内部尺寸?

您可以覆盖ImageView的onMeasure方法来获取视图的宽度和高度:

onMeasure(int widthMeasureSpec, int heightMeasureSpec){
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth());
}

More关于渲染程序。

This thread 可能对您也有用。