getMeasuredWidth()获取的是view原始的大小,也就是这个view在XML文件中配置或者是代码中设置的大小。getWidth()获取的是这个view最终显示的大小,这个大小有可能等于原始的大小也有可能不等于原始大小。
在布局文件中写入width 只是给了他一个初始化的默认值,而不是最终的结果,最终的结果是要通过Measured等计算出来的,所以在view构建完成之前调用 getWidth 都为0.
如果在构建view前获取默认 大小可以用:
int width = activity.getWindowManager().getDefaultDisplay().getWidth();
int height =activity.getWindowManager().getDefaultDisplay().getHeight();