Android 初学------获取View的宽高 坐标 边距

来源:互联网 发布:古巴网络 编辑:程序博客网 时间:2024/06/06 09:58
btn = (Button) findViewById(R.id.show);ViewTreeObserver vto = btn.getViewTreeObserver();      vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {          @Override            public void onGlobalLayout() {            btn.getViewTreeObserver().removeGlobalOnLayoutListener(this);                System.out.println("width:"+btn.getWidth()+",height:"+btn.getHeight());            if(Build.VERSION.SDK_INT>=11){            System.out.println("x:"+btn.getX()+",y:"+btn.getY());            RelativeLayout.LayoutParams  ly=(android.widget.RelativeLayout.LayoutParams) btn.getLayoutParams();            System.out.println("paddingleft:"+ly.leftMargin);            }else{            //获取xy坐标            }        }        });  


获取button的x y坐标已经获取设置的左边距   ,注意LayoutParams是根据父视图来的。如果父视图是LinearLayout 就应该是LinearLayout.LayoutParams .

0 0