安卓自定义ImageView,实现宽高比为1(正方形图片)

说明:
在安卓中,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);
    }
}

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

发布了43 篇原创文章 · 获赞 56 · 访问量 5115

猜你喜欢

转载自blog.csdn.net/tran_sient/article/details/103604979
今日推荐