背景
在Android中正确获得View控件的宽和高——使用篇中我们知道了,getWidth和getMeasureWidth都可以获得view的宽,高同理。
那这两个函数究竟有什么区别呢?其实以前我只是知道获取宽高要那样子,也不知道这两个并不知道这两个函数的区别,所以探究了一下。先看个例子。
例子
我直接贴代码:
使用自定义的View:
public class MyView extends View {
private static final String TAG = MyView.class.getSimpleName();
public MyView(Context context) {
super(context);
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
Log.d(TAG, "======>"+"onMeasure") ;
printWH();
}
private void printWH() {
Log.d(TAG,"getMeasuredWidth:"+getMeasuredWidth());
Log.d(TAG,"getMeasuredHeight:"+getMeasuredHeight());
Log.d(TAG,"getWidth:"+getWidth());
Log.d(TAG,"getHeight:"+getHeight());
}
@Override
protected void onLayout</