Android 에서는 xml 을 자주 사용하게 되는데, 특히 UI 쪽에서 많이 사용하게 된다. 이중에 아주 기본적으로 화면의 layout 을 결정하는 layout 관련 xml 의 attribute 를 어디서 찾을 수 있는지 알아보자. [ref. 1] 을 참고하면 더욱 자세하고 정확한 이야기를 확인할 수 있을 것이다.
Layout Resource
이 xml 녀석덕분에 code 가 복잡한 것은 막을 수 있지만, 반면에 xml 을 자꾸 찾아 다녀야 해서 분석에 조금 귀찮은 느낌을 받는다.
기본적으로 이 xml 은 code 의 일부분을 밖으로 빼 놓은 것이라고 봐도 무방하다. 이 xml 의 녀석을 android 가 알아서 parsing 하고 view 를 만들어 주는 것이니, view 를 만들려고 사용하는 코드 대신이라고 생각하면 될 것이다.
다르게 얘기하면, 여기에 적는 것만으로도 .java 에 code 를 작성하는 것과 비슷한 효과를 갖게 된다고 보면 된다. 그래서 memory 에 관련된 변수들의 영역이 할당되어서 이 녀석을 참조할 수 있다. 그걸 소스코드에서 가능하게 하는 것이
R.layout.main_activity
와 같은 변수인 것이다.
XML syntax
syntax 는 아래와 같다. ViewGroup 의 종류는 [ref. 4]를 참고하고 View 는 [ref. 2]를 참고하자..
<?xml version="1.0" encoding="utf-8"?>
<ViewGroup xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension"|"fill_parent"|"wrap_content"]
android:layout_width=["dimension"|"fill_parent"|"wrap_content"]
[ViewGroup-specificattributes] >
<View
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension"|"fill_parent"|"wrap_content"]
android:layout_width=["dimension"|"fill_parent"|"wrap_content"]
[View-specificattributes] >
<requestFocus/>
</View>
<ViewGroup >
<View />
</ViewGroup>
<include layout="@layout/layout_resource"/>
</ViewGroup>
결론적으로 그래서 API 문서도 같이 만들어져 있다. 그래서 ListView 의 함수(method)와 더불어 xml 에서 쓰이는 속성(attribute) 을 찾으려 한다면 ListView API 문서를 찾아가면 된다. 그럼 아래처럼 XML의 Attribute 를 찾아볼 수 있다.
ListView 에서 볼 수 있는 attribute 는 ListView 에만 해당하는 녀석이므로, 상위 class 인 View 에서 쓸 수 있는 attribute 는 따로 View API 문서 에서 찾아봐야 한다.
댓글 없음:
댓글 쓰기