onMeasure()和onSizeChanged()

protected void onSizeChanged(int w, int h, int oldw, int oldh) 

protected void onMeasure(int widthMeasure, int heightMeasure)

首先onSizeChanged是设置大小的,而onMeasure是为了能够设置wrap_content或者是match_parent的属性。因此,如果我们希望自定义的View能够使用wrap_content或者是match_parent的属性,应该写成如下形式:

@Override
protected void onMeasure(int widthMeasure, int heightMeasure){
    super.onMeasure(widthMeasure, heightMeasure);
    setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth());
}

你可能感兴趣的:(Android,SDK)