2012-03-13 2 views
0

하나의 ImageButton이있는 RelativeLayout이 있습니다. 이 항목의 위치 매개 변수가 필요하며 가져 오는 방법을 알지 못합니다.항목에서 레이아웃 가져 오기 (x 및 y 매개 변수)

나는 함께 시도가 :

ImageButton user = (ImageButton) findViewById(R.id.User); 
int x =user.getTop(); 
int y =user.getLeft(); 

을하지만 결과에 allways 0;

감사합니다.

+0

왜이 직위가 필요합니까? 무엇을 성취하려고합니까? –

+0

사실 3 개의 이미지 버튼이 있습니다. 스크롤에 대한 그들의 입장을 바꾸고 싶습니다. 내 스크롤이 잘 작동하고 onCreate에서 버튼 위치를 잡고 싶습니다. –

답변

4

을 반환에서 onCreate()에 위치를 얻을하지 마십시오 참조 :

ViewTreeObserver observer = user.getViewTreeObserver(); 
observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
    @Override 
    public void onGlobalLayout() { 
     //in here, place the code that requires you to know the dimensions. 
     //Place your code here 
    } 
} 
0

getTop() 및 getLeft()는 부모를 기준으로 뷰의 위치를 ​​반환합니다. 예를 들어, getLeft()가 20을 반환하면보기가 직접적인 부모의 왼쪽 가장자리 오른쪽으로 20 픽셀 떨어진 곳에 있음을 의미합니다. 포인트 위치 아래의 here을 참조하십시오. 다음과 같이 시도해보세요.

user.getParent().getLeft(); 

희망이 있습니다.

관련 문제