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

本文详细介绍了如何在Android应用中获取Button组件的XY坐标和左右边距,通过使用ViewTreeObserver和OnGlobalLayoutListener接口实现布局监听,确保在布局加载完成后准确获取所需信息。
	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 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值