Android初学------Viewの広い座標の余白を取得

968 ワード

	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 .