getMeasuredWidth()与getWidth()的区别

1,两者的赋值时机不同,getMeasuredWidth()在measure完成时产生,getWidth()在layout后产生,默认情况下两者大小相等
2,getWidth()的源码

public final int getWidth() {
     return mRight - mLeft;
}

如果重写onLayout()方法,修改mRight,mLeft的值,getMeasuredWidth()的结果将与getWidth()的结果不同

例如  public void onLayout(int l ,int t,int r,int b){

                 super.layout(l,t,r + 100,b); 

        }

猜你喜欢

转载自blog.csdn.net/qq_32671919/article/details/81078407