说明:
在安卓中,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);
}
}
我们将宽高相应的尺寸参数都传入宽的尺寸参数,就可以实现啦。