分类: Java
2011-11-10 20:10:19
int www = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
int hhh = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
this.view.measure(www, hhh);
this.realitemWidth=this.view.getMeasuredWidth();
this.realitemHeight=this.view.getMeasuredHeight();
http://blog.csdn.net/infsafe/archive/2010/03/10/5364256.aspx
Android中getWidth和getMeasuredWidth的区别那用法呢?
1. getWidth在OnCreat的时候得到的是0..很奇怪, 我找到了原因: 当一个view对象创建时,android并不知道其大小,所以getWidth()和 getHeight()返回的结果是0,真正大小是在计算布局时才会计算,所以会发现一个有趣的事,即在onDraw( ) 却能取得长宽的原因。
那怎么在onCreat 的时候得到呢?
width = activity.getWindowManager().getDefaultDisplay().getWidth();
height = activity.getWindowManager().getDefaultDisplay().getHeight();
2. getMeasuredWidth必须在parent view或者它自己调用measure()函数之后才能得到. measure函数就是计算该函数需要占用的空间大小.
http://hushaohua110.blog.163.com/blog/static/34781413201123195032955/