0

我在 XML 中使用自定义视图(CoordinateGridView),如下所示:

<com.android.catvehicle.CoordinateGridView
    android:id="@+id/coordinateGrid"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>

我试图让 CoordinateGridView 的宽度填充屏幕的整个宽度。然后高度应该与宽度匹配——因此,自定义视图应该始终绘制为正方形。

我该怎么做呢?

4

1 回答 1

4

覆盖onMeasure函数CoordinateGridView

public void onMeasure(int widthSpec, int heightSpec) {
  super.onMeasure(widthSpec, heightSpec);
  int size = Math.min(getMeasuredWidth(), getMeasuredHeight());
  setMeasuredDimension(size, size);
}

有关完整示例,请参见https://github.com/chiuki/android-square-view

于 2013-07-18T17:54:14.597 回答