1.继承需要控制宽高比例的控件
2.重写 onMeasure 方法
3.重新计算比例(分2种情况:第一知道宽计算高 第二知道高计算宽)
下面是已知宽的具体值计算按照比例高的值
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
//获取宽的可能值
int width = MeasureSpec.getSize(widthMeasureSpec);
//按照比例计算高度(高度=宽度 / 75 * 32)
int newHeight = MeasureSpec.makeMeasureSpec(width / 75 * 32, MeasureSpec.EXACTLY);
//设置新的高度给系统
super.onMeasure(widthMeasureSpec, newHeight);
}
如果是处理图片
ImageView
scaleType设置为center_crop