实现宽高相同的ImageView
在ImageView类中,是通过OnMeasure()方法来测量宽高的。
@Override
protected void onMeasure(int widthMeasureSpec, int widthMeasureSpec) {
super.onMeasure(widthMeasureSpec, widthMeasureSpec);
}
形参 widthMeasureSpec, widthMeasureSpec中存储着宽和高的数据。
//获取View宽度
int width = MeasureSpec.getSize(widthMeasureSpec);
//获取宽度/高度的定义模式 //match_parent wrap_content 具体的dp数
int mode = MeasureSpec.getMode(widthMeasureSpec);
在ImageView类中,宽度和高度的测量是将这两个形参传入到父类的onMeasure()中,由父类进行处理。
因此 只需重写该函数,向父类的onMeasure()中,传入两个相同的形参,就可以自动的实现等宽或等高。
本文介绍了一种在Android中实现ImageView等宽等高的方法。通过重写onMeasure方法,并向父类传递相同的宽高参数,可以轻松实现ImageView的等比缩放效果。
2903

被折叠的 条评论
为什么被折叠?



