[안드로이드] 레이아웃 리소스 ID 선언

반응형




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


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

고마워요 ~ Chu ~ ♥


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


레이아웃 리소스 ID 선언

뷰 객체는 유일하게 식별되는 정수형의 ID를 가질 수가 있습니다.
일반적으로는 ID는 XML 레이아웃에서 id 속성으로 문자열로 지정되는데요.
id속성은 뷰 클래스에 정의되어 있기 때문에 모든곳에서 사용될 수 있겠습니다.

ID 추가 :
android:id="@+id/btn"



 여기에서 골뱅이(@)는 XML에게 ID 리소스 라는걸 알려주는 기능을 합니다.
플러스(+) 는 R.java 클래스에 새로운 리소스 이름을 추가하는 기능을 하죠.
그리고 안드로이드에서 기본으로 제공되는 ID 리소스들은 플러스(+) 기호가 없는 대신에, 구분하기 위하여 'android 패키지 네임스페이스' 를 추가해야 됩니다.


기본 제공되는 리소스 ID 참조 :
android:id="@android:id/empty"



▶ 시스템은 android 네임스페이스가 있으면 , android.R 리소스 클래스에서 해당 ID를 찾습니다.


소스코드에서 레이아웃의 뷰를 읽어오는 일반적인 방식
⊙ 레이아웃 파일에서 뷰 또는 위젯 선언 후 고유 ID를 지정합니다.




⊙ 뷰 객체의 인스턴스 생성 후 레이아웃의 ID를 지정합니다 ( 대부분 onCreate() 에서 선언됨 )


※ 주의할 점은 ID는 전체 트리에서 유일한 필요는 없고, 단지 검색대상이 되는 트리영역에서만 유일하면 됩니다.
( 하지만 검색트리가 전체트리가 될 수도 있으므로 전체트리에서 ID를 유일하게 지정하는것이 좋겠네요. )




XML 페이아웃 파라미터

"layout_xxx" 형식으로 지정되는 속성은, 뷰 그룹내에서 뷰를 적정한 위치에 위치시키는 레이아웃 파라미터 입니다.

모든 뷰그룹 클래스는 ViewGroup.LayoutParams 를 상속하는 클래스를 만드는데요, 이 클래스는 자식뷰에 대한 크기와 위치를 정의하는 역할을 합니다.




부모가 되는 뷰 그룹은 자식뷰에 대한 레이아웃 파라미터를 정의합니다.
모든 뷰 그룹은 너비(layout_width) 와 높이 (layout_height)를 가지며, 정의해야만 합니다.


Value 로 되어있는 -1,-1,-2 값은 상수값으로써 기억해 두시면 나중 다른 소스를 볼 때 유용할 것 같습니다 ㅎ




또한 마진(margin) 과 패딩(padding)을 가질수가 있고, 명시적인 값으로 설정할 수도 있으나, 대부분은 뷰의 크기에 맞추는 ( wrap_content ) 로 하거나, 부모 뷰 그룹이 허용하는 크기를 꽉 채우는 ( fill_parent ) 로 사용합니다.


여기에서도 상수값은 여전히 적용이 됩니다 ^^;

다음 사항인 레이아웃의 뷰의 위치에 관한 내용은 다음글에 이어 집니다.





관련글


반응형

댓글

Designed by JB FACTORY