Android 设置布局高度等于布局宽度=”;匹配“家长”;在布局文件中

Android 设置布局高度等于布局宽度=”;匹配“家长”;在布局文件中,android,Android,标题说明了一切。我需要创建一个正方形的视图,其高度完全取决于移动设备的宽度大小(layout\u width=“match\u parent”) 是否可以从Android的.xml文件中指定layout\u height=“…等于宽度…”,或者我必须在运行时执行此操作?您可以通过编程方式调整视图的大小,方法是扩展视图并改为使用xml中的自定义类。例如,我将扩展ImageView类并返回一个方形图像(通过将高度更改为宽度的大小): 如前所述,使用此类将始终生成方形图像,其中高度等于宽度 要在布局文

标题说明了一切。我需要创建一个正方形的
视图
,其高度完全取决于移动设备的宽度大小(
layout\u width=“match\u parent”


是否可以从Android的.xml文件中指定
layout\u height=“…等于宽度…”
,或者我必须在运行时执行此操作?

您可以通过编程方式调整视图的大小,方法是扩展视图并改为使用xml中的自定义类。例如,我将扩展
ImageView
类并返回一个方形图像(通过将高度更改为宽度的大小):

如前所述,使用此类将始终生成方形图像,其中高度等于宽度

要在布局文件中使用它,请执行以下操作:

<com.packagename.SquareImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>


但是,您必须注意设备处于横向的情况,这样您的宽度将远远大于高度,因此视图将不适合。

尝试在约束布局中使用比率谢谢,我会检查它!非常感谢,伙计,这是一个非常好的答案,但我想我会按照@juancruzzoler的建议使用约束时间和比例,因为我认为这对动画来说会更好,但我肯定会投赞成票
<com.packagename.SquareImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>