[상황]
안드로이드 UI를 구현하다보면, xml 파일 내의 View 항목들이 어느세 엄!청!나!게 증가해 코드가 너무 복잡해지는 상황이 생기는데요.
저는 심지어 안드로이드 스튜디오에서 warning 메세지를 받아보기도 했습니다
(아마 노란 말풍선으로 '그만 추가하세요, 더 추가하면!! 성능에 좋지 않습니다'라는 의미였던... 기억이 가물가물 합니다).
코딩의 편리성을 위해, 혹은 위계를 두어 정리/구현하고 싶은 경우 아래의 간단한 방법이 있음을 소개하고자 합니다.
[방법]
변경 전 & 변경 후로 나누어 구분해 드리도록 하겠습니다.
변경전: main.xml
1. 상황 가정: main.xml속에는 현재 아래에 보이는 LinearLayout에 속한 View들 말고도 많은 항목들이 있을 것입니다.
2. 원하는 방향: LinearLayout속의 View들은 동일한 맥락을 지니므로, CheckBox들을 다른 xml파일을 만들어 나누어 보겠습니다.
(main.xml을 포함해 모든 xml을 쾌적하게 코딩하고, 관리하고 싶은 마음이 더 큽니다)
....
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="38dp"
android:id="@+id/linearLayout">
<CheckBox
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@string/Bold"
android:id="@+id/checkBox_Bold"
android:checked="false" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@string/Italic"
android:id="@+id/checkBox_Italic" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@string/UnderLine"
android:id="@+id/checkBox_UnderLine" />
</LinearLayout>
...
블록처리가 된 부분을 다른 xml 파일로 보내줍니다(새 파일을 content_main.xml 로 이름지어보겠습니다.)
변경후
main.xml |
content_main.xml (main.xml에 포함시킬 Layout) |
...
<LinearLayout android:orientation="horizontal"
... |
<?xml version="1.0" encoding="utf-8"?> <LinearLayout> ....... tools:showIn="@layout/main"> <CheckBox </LinearLayout> |
[설명] 원래 View들이 있던 자리에 아래와 같이 '한 줄'만 작성합니다. <include layout="@layout/content_main"/>(새로 만들어준 xml파일명) |
[설명] 최상위 layout 속성에 아래와 같이 작성 tools:showIn="@layout/main" (위 View들을 담을 xml파일명-여기선 main)
|
'ㆍ Android Coding' 카테고리의 다른 글
[for 안드로이드 스튜디오] 스마트폰 개발자 옵션 ON (0) | 2016.09.20 |
---|---|
[안드로이드 코딩/EditText] EditText 밑줄(Underline) 제거 (0) | 2016.09.20 |
[안드로이드 스튜디오] 개발한 앱의 최소 Sdk version 확인 (0) | 2016.09.20 |
[Error]Cannot Resolve Symbol 'R' : 해결 (14) | 2016.09.20 |
[안드로이드 코딩/TextView] getTextSize(), setTextSize() : text size 동적 수정 (0) | 2016.09.20 |