[안드로이드] 레이아웃 뷰의 위치

반응형



이어지는 글
레이아웃 선언하기          
레이아웃 리소스 ID 선언    
레이아웃 뷰의 위치      ◀ 현재 위치


읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥


이제 드디어 레이아웃에 관한 글을 포스팅 해보려 합니다.
내용이 좀 길어질것 같기 때문에 2개~3개 정도로 나누어 적으려 합니다.
따라서 관련 글은 링크에서 찾아 보세요 ^^


레이아웃 뷰의 위치

뷰는 직사각형 모양이며, 너비와 높이를 가지는 2차원 좌표를 가집니다. 또한 그것의 위치와 크기의 단위는 픽셀(pixel) 이 됩니다.

적절한 메소드 호출로 뷰의 위치를 얻을 수가 있는데,
getLeft()  메소드는 왼쪽 (X좌표),
getTop() 메소드는 상단 (Y좌표),
getRight() 메소드는 오른쪽 (getLeft() + getWidth())
getBottom() 메소드는 아래쪽 ( getTop() + getHeight() ) 를 리턴합니다.

좀 더 이해를 쉽게 하기 위해 그림으로 표현해 보았습니다.




주의할점은 이런 메소드들은 그것의 부모에 대한 상대적인 뷰 위치를 나타낸다는 점입니다. 즉, getLeft() 가 10 이라고 하면 부모의 왼쪽에서부터 10픽셀 떨어진곳에 위치한다는 것입니다. [ 스크린상의 절대좌표가 아닙니다 ]



뷰 크기와 패딩과 마진

뷰의 크기는 너비와 높이, 실제론 두 쌍의 너비와 높이로 이루어져 있습니다.

첫번째는 측정된 너비와 측정된 높이 입니다. 이것은 뷰가 가지고 있는 크기를 나타냅니다.
getMeasuredWidth() 메소드와 getMeasuredHeight() 메소드로 얻을 수 있습니다.



두번째는 실제 너비와 높이 입니다. 이 크기는 레이아웃 이후 실제 화면상에 보여지는 뷰의 크기입니다. ( 측정된 너비,높이 값과 실제 값은 다를 수가 있습니다 )
이 값은 getWidth()getHeight() 메소드로 얻을 수 있지요.


☞  뷰는 크기 측정을 위하여 패딩값을 계산에 넣습니다. 패딩은 상하좌우 영역에 대한 픽셀로 표현되는데요, setPadding(int,int,int,int) 메소드로 지정할 수 있습니다.



이것의 패딩 값은 getPaddingLeft() , getPaddingRight() , getPaddingTop() , getPaddingBottom() 메소드로 각각을 얻을 수 있습니다.



이제 레이아웃의 뷰에 대한 내용은 끝입니다...ㅎㅎ
다음 포스팅에선 메뉴 생성부터 설정까지 적어보도록 할께요 ㅎ



관련글







반응형

댓글

Designed by JB FACTORY