说明:
在安卓中,ImageView的高和宽通过onMeasure方法来控制,我们只需要自定义一个View继承自ImageView并重写该方法即可。

package com.example.myapplication1.views;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ImageView;

import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatImageView;

public class widthEqualsHeightImageView extends AppCompatImageView {

    public widthEqualsHeightImageView(Context context) {
        super(context);
    }

    public widthEqualsHeightImageView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public widthEqualsHeightImageView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, widthMeasureSpec);
    }
}

我们将宽高相应的尺寸参数都传入宽的尺寸参数,就可以实现啦。