안녕하세요 돼지왕 왕돼지입니다.
오늘은 "Android Layout Tricks #2 : Reusing Layouts." 주제로 이야기하고자 합니다.
이 글은 http://android-developers.blogspot.com/2009/02/android-layout-tricks-2-reusing-layouts.html 을 의역한 내용입니다.
Android Layout Tricks #2 : Reusing Layouts.
UI toolkit 은 <requestFocus /> <Merge /> 와 < include /> 와 같은 특별한 tag 들을 제공합니다. <include /> 는 순수한 XML component 를 사용하기 위해 사용됩니다.
<include /> tag 는 이름 그대로의 행동을 합니다. 다른 XML layout 을 포함하는 것이죠. 이 tag 의 사용방법은 매우 쉽습니다. 다음의 예제를 참조하시죠.
<com.android.launcher.Workspace
android:id="@+id/workspace"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
launcher:defaultScreen="1">
<include android:id="@+id/cell1" layout="@layout/workspace_screen" />
<include android:id="@+id/cell2" layout="@layout/workspace_screen" />
<include android:id="@+id/cell3" layout="@layout/workspace_screen" />
</com.android.launcher.Workspace>
<include /> 에는 layout 이라는 속성만이 요구됩니다. 이 속성은 android namespace prefix 가 필요 없습니다. 어떤 layout 을 include 할지를 명시해주면 되죠. 이 예제에서는 같은 layout 을 3번 include 합니다. 이 include tag 를 사용함으로 해서 약간의 속성을 사용해도 layout 을 reuse 할 수 있습니다. <include /> tag 에는 android:layout_* 속성들도 함께 사용될 수 있습니다. 다음의 예제와 같이 말이죠.
<include android:layout_width="fill_parent" layout="@layout/image_holder" />
<include android:layout_width="256dip" layout="@layout/image_holder" />
이 tag 는 device configuration 에 따라 UI 의 일부분만 변경할 때 매우 유용합니다. 예를 들어 main layout 은 layout/ 폴더에 위치할 수 있지만, layout-land/ 나 layout-port/ 의 폴더에도 존재할 수 있습니다. 이 때 대부분의 UI 는 공유되고, 일부분만 바뀌게 되죠. 이 때 유용합니다.
댓글