java - Android:使自定义 View 的宽度和高度相等

标签 java android android-view

我在 XML 中使用自定义 View (CooperativeGridView),如下所示:

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

我正在尝试获取 CooperativeGridView 的宽度以填充屏幕的整个宽度。然后,高度应与宽度相匹配 - 因此,自定义 View 应始终绘制为正方形。

我该怎么做?

最佳答案

重写CooperativeGridView中的onMeasure函数:

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完整的例子。

关于java - Android:使自定义 View 的宽度和高度相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17730593/

相关文章:

java - 如何通过 Apache Camel 调用 RESTful 服务?

java - 用 Java 将 HTML 开源为 PDF (2014)

java - 使用 Spring Batch 多线程处理数据

android - 如何在 firebase android 中获得特定的值(value)?

java - 在加载动画期间使背景元素变暗/变暗 - Android

java - Android,Java - AutocompleteTextView列表显示在编辑框下

Android Fragment Transaction 自定义动画

Android - 动画 Intent 但忽略 View

android--如何在圆圈中绘制一个矩形

android - 实现 AppInvites 时的结果代码 3