对于UI方面很多时候需要获取它的很多信息,具体情况见view的文档
View文档
http://developer.android.com/training/index.html
常用方法:
获取view的宽高
getWidth()
getHeight()
获取当前view相对于[父元素]坐标系的原点.
此点对于当前view而言,是它的左上角点在父元素坐标系中的坐标
getX()
getY()
获取当前view相对于[父元素]坐标系的几个值
getLeft()
getTop()
getRight()
getBottom()
他们获取到的数据与layout(l,t,r,b)方法中的l,t,r,b一致
注意:以上获取到的数据的单位都是像素px
onCreate方法中获取view的尺寸,坐标信息
onCreate中可获得控件的引用,但是无法获取到控件的尺寸,坐标等信息,因为此时控件尚未被绘制所以无法得到这些信息,
如果实在需要view的尺寸和坐标,可以使用以下方法:
btn = (Button)findViewById(R.id.btn); ViewTreeObserver vto = btn.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { public boolean onPreDraw() { if (hasMeasured == false) { // 获取btn的宽高 int height = btn.getMeasuredHeight(); int width = btn.getMeasuredWidth(); Log.d("test","" + btn.getWidth() +" height:" + btn.getHeight()); // 获取btn的坐标信息 Log.d("test", " getWidth():" + btn.getWidth() + " getHeight():" + btn.getHeight()+ " getLeft():" + btn.getLeft() + " getRight():" + btn.getRight() + " getTop():"+btn.getTop() + " getBottom():" + btn.getBottom() + " getX():" + btn.getX() + " getY():" + btn.getY()); // 设置标志 hasMeasured = true; } return true; } });