Àç»ç¿ë °¡´ÉÇÑ UI ÄÄÆ÷³ÍÆ®·Î ·¹À̾ƿô ±¸¼ºÇϱâ
¾Èµå·ÎÀ̵å Ç÷§ÆûÀº ¾ÆÁÖ ´Ù¾çÇÑ UI À§Á¬À» Á¦°øÇÕ´Ï´Ù. ÀÛÀº À§Á¬ Á¶°¢À» ÇÕÃļ º¹ÀâÇÏ°í Á¤±³ÇÑ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÙ ¼ö ÀÖ½À´Ï´Ù.
ÇÏÁö¸¸ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ß ÇÒ ¶§ ´õ ¼öÁسôÀº ÀÎÅÍÆäÀ̽º°¡ ÇÊ¿ä ÇÒ ¶§°¡ ÀÖ½À´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ¿Ï¼ºÇÏ¸é¼ ±×°Íµµ È¿À²ÀûÀ¸·Î ¸¸µé±â À§Çؼ´Â ¼ö °³ÀÇ Ç¥ÁØÀ§Á¬À» ÇϳªÀ̸é¼
Àç»ç¿ëÀÌ °¡´ÉÇÑ ÄÄÆ÷³ÍÆ®·Î ÇÕÃÄ¾ß ÇÕ´Ï´Ù.
¿¹¸¦ µé¾î ÇÁ·Î±×·¹½º¹Ù¿Í Ãë¼Ò¹öÆ°ÀÌ ÀÖ°í ¾ÆÀÌÄÜ°ú Á¦¸ñ, ¼³¸íÀÌ ÀÖ°í Positive ¿Í Negative ¾×¼Ç°ú µîµîÀÌ Æ÷ÇÔµÈ ÆгÎÀ» ¸¸µì´Ï´Ù.
ÀÌ·± UI ÄÄÆ÷³ÍÆ®¸¦ ¸¸µé±â À§Çؼ´Â Ä¿½ºÅÒ ºä¸¦ ¸¸µå´Â ¹æ¹ýµµ ÀÖÁö¸¸ XMLÀ» ÅëÇؼ ´õ¿í ½±°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¾Èµå·ÎÀ̵åÀÇ XML ·¹À̾ƿô ÆÄÀÏ¿¡¼ °¢°¢ÀÇ Å±״ Ŭ·¡½º ÀνºÅϽº¿¡ ¸ÊÇÎ(»óÈ£ ¿¬°á)µÇ¾î ÀÖ½À´Ï´Ù.
Ŭ·¡½º´Â Ç×»ó ºäÀÇ ¼ºêŬ·¡½ºÀÌ°í UI ÅøÀº ºäÀÇ ÀνºÅϽº¿¡ ¸ÊÇεǾîÀÖÁö ¾ÊÀº ¼¼°¡Áö ű׸¦ Áö¿øÇÕ´Ï´Ù. <requestFocus />, <merge >, <include /> ÀÔ´Ï´Ù.
ÀÌ ±â¼ú¹®¼´Â <include /> ű׸¦ ¾î¶»°Ô »ç¿ëÇؼ ¼ø¼öÇÏ°Ô XML ·Î¸¸ ÀÛ¼ºÇÑ ÄÄÆ÷³ÍÆ®¸¦ ¸¸µå´ÂÁö ¾Ë¾Æº¸°Ú½À´Ï´Ù.
<include /> ¹®°ú °°À̽ἠ°·ÂÇÑ È¿°ú¸¦ ³»´Â <merge /> ű×ÀÇ »ç¿ë¹ýÀº Merging Layouts ¹®¼¸¦ Âü°íÇϼ¼¿ä.
<include /> ÀÇ ÇÏ´Â ÀÏÀº À̸§ ±×´ë·ÎÀÔ´Ï´Ù.
Áï, ´Ù¸¥ XML ·¹À̾ƿôÀ» Æ÷ÇÔ(include)ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ Å±׸¦ »ç¿ëÇÏ´Â °ÍÀº ¾Æ·¡ÀÇ ¿¹Á¦¿¡¼ º¸ÀÌ´Â °Í°ú °°ÀÌ ¾ÆÁÖ Á÷°üÀûÀÔ´Ï´Ù.
¾Æ·¡ ¿¹Á¦´Â ¾Èµå·ÎÀÌµå ³»Àå ¾ÖÇø®ÄÉÀ̼ÇÀÎ the source code of the Home application ¿¡¼ Á÷Á¢ °¡Á®¿Ô½À´Ï´Ù.
<com.android.launcher.Workspace
android:id="@+id/workspace"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
launcher:defaultScreen="1">
</com.android.launcher.Workspace>
<include /> ű׾ȿ¡¼´Â layout ¼Ó¼º¸¸ ½á¾ßÇÕ´Ï´Ù. ÀÌ ¼Ó¼ºÀº android Á¢µÎ¾î°¡ ºÙÁö ¾ÊÀ¸¸é Æ÷ÇÔ ½ÃÅ°°íÀÚ ÇÏ´Â ·¹À̾ƿô ÆÄÀÏÀ» ÂüÁ¶ÇÕ´Ï´Ù. (»ç¿ëÇÑ´Ù´Â ¸»)
ÀÌ ¿¹Á¦¿¡¼´Â ¶È°°Àº ·¹À̾ƿôÀÌ 3¹ø ¿¬¼ÓÀ¸·Î Àû¿ëµÇ¾ú½À´Ï´Ù. ÀÌ Å±״ ¶ÇÇÑ Æ÷ÇÔ½ÃÅ°°íÀÚ ÇÏ´Â ·¹À̾ƿôÀÇ ¸î°¡Áö ¼Ó¼ºµéÀ» ¿À¹ö¶óÀ̵å ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
À§ÀÇ ¿¹Á¦¿¡¼´Â android:id ¸¦ »ç¿ëÇؼ Æ÷ÇÔµÈ ·¹À̾ƿôÀÇ ·çÆ® ºä(ÃÖ»ó´Ü ºä)¿¡ id¸¦ ºÎ¿© ÇÒ ¼ö ÀÖ½À´Ï´Ù. id°¡ ºÎ¿© µÇ¸é Æ÷ÇÔµÈ ·¹À̾ƿôÀÇ id µµ ¿À¹ö¶óÀÌµå µË´Ï´Ù.
¶ÇÇÑ ¸ðµç ·¹À̾ƿôÀÇ ¼Ó¼º°ªµéÀ» ¿À¹ö¶óÀ̵å Çϴ°͵µ °¡´ÉÇÕ´Ï´Ù. Áï, ¾î¶°ÇÑ android:layout_* ¼Ó¼ºÀÌ¶óµµ <include /> ű׾ȿ¡¼ ¾²ÀÏ ¼ö ÀÖ´Ù´Â ¸»ÀÔ´Ï´Ù.
¾Æ·¡ ¿¹Á¦¿¡¼´Â ¶È°°Àº ·¹À̾ƿôÀÌ µÎ¹ø Æ÷ÇԵǾú´Âµ¥ ù¹ø° °Í¸¸ ·¹À̾ƿô ¼Ó¼ºµéÀ» ¿À¹ö¶óÀ̵å Çß½À´Ï´Ù.
»ìÆ캸ÁÒ.
<!-- override the layout height and width -->
<include layout="@layout/image_holder"
android:layout_height="fill_parent"
android:layout_width="fill_parent" />
<!-- do not override layout dimensions; inherit them from image_holder -->
<include layout="@layout/image_holder" />
ÁÖÀÇ
¾Èµå·ÎÀ̵å À§Á¬ÀÇ dimension(Æø°ú ³ôÀÌ)¸¦ ¿À¹ö¸®¾Æµå ÇÏ°íÀÚ ÇÑ´Ù¸é android:layout_height¿Í android:layout_width ¼Ó¼ºÀ» ´Ù ¿À¹ö¶óÀ̵åÇØ¾ß ÇÕ´Ï´Ù.
¾î´À ÇÑ °¡Áö ¼Ó¼º¸¸ ¿À¹ö¶óÀ̵å Çؼ´Â ¾ÈµË´Ï´Ù. ÇÑ °¡Áö¸¸ ¿À¹ö¶óÀ̵å ÇÏ°Ô µÇ¸é ¾Æ¹« È¿°úµµ ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù. (weight °°Àº ÀÌ¿ÜÀÇ ¼Ó¼ºµéÀº ¼Ò½º·¹À̾ƿô¿¡¼ »ó¼ÓµË´Ï´Ù.)
<include />ű״ ±â±âÀÇ ¼³Á¤¿¡µû¶ó UIÀÇ ÀϺΠƯÁ¤ÇÑ ºÎºÐ¸¸ ¼öÁ¤ÇÏ°íÀÚ ÇÒ ¶§ ¸Å¿ì À¯¿ëÇÕ´Ï´Ù.
¿¹¸¦ µé¾î ¾×ƼºñƼÀÇ ¸ÞÀÎ ·¹À̾ƿô layout/ Æú´õ¿¡ ³Ö°í ´Ù¸¥ ·¹À̾ƿôÀº(È¸é ¹æÇâÀ» ¿¹·Î µé¾î) layout_land/ ³ª layout_port/ Æú´õ¿¡ µû·Î º¸°ü ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·¸°Ô ·¹À̾ƿôÀ» µû·Î º¸°üÇÑ´Ù¸é À¯Áöº¸¼ö°¡ ÇÑ Ãþ ´õ ¿ëÀÌÇØÁö´Â °ÍÀº ´ç¿¬ÇÏ°ÚÁÒ.