{"id":691,"date":"2018-08-17T17:33:27","date_gmt":"2018-08-17T08:33:27","guid":{"rendered":"https:\/\/www.charlezz.com\/?p=691"},"modified":"2019-12-21T18:43:32","modified_gmt":"2019-12-21T09:43:32","slug":"constraint-layout-part2-%eb%b7%b0%ec%9d%98-%eb%b0%b0%ec%b9%98%eb%a5%bc-%eb%8f%95%eb%8a%94-%ea%b0%80%ec%83%81-%ec%98%a4%eb%b8%8c%ec%a0%9d%ed%8a%b8","status":"publish","type":"post","link":"https:\/\/charlezz.com\/?p=691","title":{"rendered":"Constraint Layout &#8211; Part2. \ubdf0\uc758 \ubc30\uce58\ub97c \ub3d5\ub294 \uac00\uc0c1 \uc624\ube0c\uc81d\ud2b8"},"content":{"rendered":"<h1>Virtual Helpers objects(\ubdf0\uc758 \ubc30\uce58\ub97c \ub3d5\ub294 \uac00\uc0c1 \uc624\ube0c\uc81d\ud2b8)<\/h1>\n<p>\uc9c0\ub09c\uc2dc\uac04 <a href=\"https:\/\/www.charlezz.com\/?p=669\">Part1<\/a>\uc5d0\uc11c\ub294 ConstraintLayout\uc744 \uc774\uc6a9\ud558\uc5ec \uae30\ubcf8\uc801\uc778 \ub808\uc774\uc544\uc6c3\uc744 \uc7a1\ub294 \uc5f0\uc2b5\uc744 \ud588\uc2b5\ub2c8\ub2e4. \uc774\ubc88\uc2dc\uac04\uc5d0\ub294 ConstraintLayout\uc5d0\uc11c \uac00\uc0c1 \uc624\ube0c\uc81d\ud2b8\ub4e4\uc5d0 \uc0ac\uc6a9\uc744 \ud1b5\ud574 \uc880 \ub354 \ub2e4\uc591\ud55c \ub808\uc774\uc544\uc6c3\uc744 \ub9cc\ub4dc\ub294 \uc5f0\uc2b5\uc744 \ud574\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uac00\uc0c1\uc624\ube0c\uc81d\ud2b8\uc758 \uc885\ub958\uc5d0\ub294 Guidline, Barrier, Group, Placeholder\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>Guideline<\/h2>\n<p>\ubdf0\uc758 \uc704\uce58\ub97c \uc7a1\ub294\ub370 \ub3c4\uc6c0\uc744 \uc8fc\ub294 \uc720\ud2f8\ub9ac\ud2f0 \ud074\ub798\uc2a4\ub85c \uae30\ubcf8\uc801\uc778 \ub3d9\uc791\uc740 visibility\uc758 \uc0c1\ud0dc\ub294 View.GONE\uc774\ubbc0\ub85c \ub098\ud0c0\ub098\uc9c4 \uc54a\uc2b5\ub2c8\ub2e4. \uc624\ub85c\uc9c0 ConstraintLayout\ub0b4\uc5d0\uc11c \ub2e4\ub978 \ubdf0\ub4e4\uc758 \ubc30\uce58\ub97c \ub3d5\ub294 \ubaa9\uc801\uc73c\ub85c\ub9cc \uc4f0\uc785\ub2c8<\/p>\n<p>Guideline\uc740 \uac00\ub85c \ubc0f \uc138\ub85c\ub85c \ubc30\uce58 \ud560 \uc218 \uc788\uc73c\uba70 \uae30\ubcf8\uc801\uc73c\ub85c \uc0ac\uc774\uc988\uac00 0dp \uc785\ub2c8\ub2e4.<br \/>\n\uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc18d\uc131\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><code>layout_constraintGuide_begin<\/code>\u00a0\uc88c\uce21 \ub610\ub294 \uc0c1\ub2e8\uc73c\ub85c\ubd80\ud130 \uace0\uc815\ub41c \uac70\ub9ac\uac12\uc744 \uac00\uc9c0\uace0 \ubc30\uce58 \ub429\ub2c8\ub2e4.<\/li>\n<li><code>layout_constraintGuide_end<\/code>\uc6b0\uce21 \ub610\ub294 \ud558\ub2e8\uc73c\ub85c\ubd80\ud130 \uace0\uc815\ub41c \uac70\ub9ac\uac12\uc744 \uac00\uc9c0\uace0 \ubc30\uce58 \ub429\ub2c8\ub2e4.<\/li>\n<li><code>layout_constraintGuide_percent<\/code>0\ubd80\ud130 1\uae4c\uc9c0 float\uac12\uc744 \ub123\uc5b4 \uc804\uccb4 \uae38\uc774\uc758 \ube44\ub840\uc801\uc73c\ub85c \ubc30\uce58 \ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\uc544\ub798\uc758 \uc608\uc81c\ub97c \ud655\uc778\ud574\ubd05\uc2dc\ub2e4.<\/p>\n<pre class=\"lang:xhtml highlight:0 decode:true\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\r\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    tools:context=\".MainActivity\"&gt;\r\n\r\n    &lt;android.support.constraint.Guideline\r\n        android:id=\"@+id\/guide_line_1\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:orientation=\"vertical\"\r\n        app:layout_constraintBottom_toBottomOf=\"parent\"\r\n        app:layout_constraintGuide_begin=\"50dp\"\r\n        app:layout_constraintStart_toStartOf=\"parent\"\r\n        app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\r\n\r\n    &lt;Button\r\n        android:layout_width=\"0dp\"\r\n        android:layout_height=\"wrap_content\"\r\n        app:layout_constraintLeft_toLeftOf=\"@+id\/guide_line_1\"\r\n        app:layout_constraintRight_toRightOf=\"@+id\/guide_line_2\"\r\n        app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\r\n\r\n    &lt;android.support.constraint.Guideline\r\n        android:id=\"@+id\/guide_line_2\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:orientation=\"vertical\"\r\n        app:layout_constraintEnd_toEndOf=\"parent\"\r\n        app:layout_constraintTop_toTopOf=\"parent\"\r\n        app:layout_constraintBottom_toBottomOf=\"parent\"\r\n        app:layout_constraintGuide_percent=\"0.7\" \/&gt;\r\n\r\n&lt;\/androidx.constraintlayout.widget.ConstraintLayout&gt;<\/pre>\n<p><a href=\"https:\/\/www.charlezz.com\/?attachment_id=43798\" rel=\"attachment wp-att-43798\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.34.32-587x1024.png\" alt=\"\" width=\"587\" height=\"1024\" class=\"aligncenter size-large wp-image-43798\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.34.32-587x1024.png 587w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.34.32-172x300.png 172w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.34.32-768x1341.png 768w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.34.32.png 936w\" sizes=\"(max-width: 587px) 100vw, 587px\" \/><\/a><\/p>\n<p>guide_line_1\uc740 \uc218\uc9c1\uc73c\ub85c 50dp \uc67c\ucabd\uc73c\ub85c\ubd80\ud130 \ub5a8\uc5b4\uc838 \ubc30\uce58 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. guide_line_2\ub294 \uc218\uc9c1\uc73c\ub85c \ubc30\uce58\ub418\uba70, \uc218\uc9c1\uc73c\ub85c \ubc30\uce58\ub418\uc5c8\uae30 \ub54c\ubb38\uc5d0 percent\uac12\uc744\u00a00.7\uc785\ub825\ud558\uba74 \uac00\ub85c \uc804\uccb4\uae38\uc774 \uae30\uc900\uc73c 70%\uc704\uce58\ub418\ub294 \uc9c0\uc810\uc5d0 \ubc30\uce58\ub418\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<p>\ud574\ub2f9 Guideline\ub4e4\uc744 \uae30\uc900\uc73c\ub85c \ubc84\ud2bc\uc758 \uae38\uc774\ub97c \ub298\ub9b0 \ubaa8\uc2b5\uc785\ub2c8\ub2e4.<\/p>\n<h2>Barrier<\/h2>\n<p>Barrier\ub294 \ud55c\uad6d\ub9d0\ub85c \ubc88\uc5ed\ud558\uba74 \uc7a5\ubcbd\uc785\ub2c8\ub2e4. \ub9d0\uadf8\ub300\ub85c \uc7a5\ubcbd\uc744 \ub9cc\ub4e4\uc5b4 \uadf8 \uc774\uc0c1 \ubdf0\ub4e4\uc774 \ub118\uc5b4 \uc624\uc9c0 \ubabb\ud558\ub3c4\ub85d \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>Guideline\uc740 \uc815\uc801\uc73c\ub85c \uc218\uce58\ub97c \uc785\ub825\ud558\uc5ec \uace0\uc815\ub41c \ubcbd\uc744 \ub9cc\ub4e4\uc5c8\ub2e4\uba74, Barrier\ub294 \uc5b4\ub5a4 \ubdf0\ub4e4\uc744 \uae30\uc900\uc73c\ub85c \ub3d9\uc801\uc778 \ubcbd\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/p>\n<p>Barrier\uc5d0\uc11c \uc4f0\uc774\ub294 \uc18d\uc131\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><code>barrierDirection<\/code>\u00a0barrier\uc758 \ubc29\ud5a5\uc744 \uacb0\uc815\ud569\ub2c8\ub2e4. top, bottom, start, end, left, right\uac00 \ud574\ub2f9\ub429\ub2c8\ub2e4.<\/li>\n<li><code>constraint_referenced_ids<\/code>\u00a0\uc7a5\ubcbd\uc758 \uae30\uc900\uc810\uc73c\ub85c \ucc38\uc870\ud560 \ubdf0\uc758 \uc544\uc774\ub514\ub97c \ubcf5\uc218\uac1c \ucc38\uc870 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4<\/li>\n<li><code>barrierAllowsGoneWidgets<\/code>\u00a0\ucc38\uc870\ud558\uace0 \uc788\ub358 true \ub610\ub294 false \uac12\uc744 \ud1b5\ud574 \ucc38\uc870\ud558\uace0 \uc788\ub358 \ubdf0\uac00 GONE\ub420\ub54c\uc758 \ub3d9\uc791\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\ub2e4\uc74c \uc608\uc81c\ub97c \ud655\uc778 \ud574\ubcf4\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n<pre class=\"lang:xhtml highlight:0 decode:true\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\r\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    tools:context=\".MainActivity\"&gt;\r\n    &lt;TextView\r\n        android:id=\"@+id\/tv1\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:text=\"\ub3d9\ud574\ubb3c\uacfc \"\r\n        app:layout_constraintStart_toStartOf=\"parent\"\r\n        app:layout_constraintBottom_toTopOf=\"@+id\/tv2\"\r\n        app:layout_constraintTop_toTopOf=\"parent\"\r\n        app:layout_constraintVertical_chainStyle=\"packed\" \/&gt;\r\n\r\n    &lt;TextView\r\n        android:id=\"@+id\/tv2\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:text=\"\ub9c8\ub974\uace0 \ub2f3\ub3c4\ub85d\"\r\n        app:layout_constraintStart_toStartOf=\"parent\"\r\n        app:layout_constraintBottom_toBottomOf=\"parent\"\r\n        app:layout_constraintTop_toBottomOf=\"@+id\/tv1\" \/&gt;\r\n\r\n    &lt;androidx.constraintlayout.widget.Barrier\r\n        android:id=\"@+id\/barrier\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"0dp\"\r\n        app:barrierDirection=\"end\"\r\n        app:constraint_referenced_ids=\"tv1,tv2\" \/&gt;\r\n\r\n    &lt;Button\r\n        android:id=\"@+id\/btn1\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:text=\"barrier\"\r\n        app:layout_constraintBottom_toBottomOf=\"parent\"\r\n        app:layout_constraintStart_toEndOf=\"@id\/barrier\"\r\n        app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\r\n\r\n&lt;\/androidx.constraintlayout.widget.ConstraintLayout&gt;<\/pre>\n<p><a href=\"https:\/\/www.charlezz.com\/?attachment_id=43799\" rel=\"attachment wp-att-43799\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.35.14-594x1024.png\" alt=\"\" width=\"594\" height=\"1024\" class=\"aligncenter size-large wp-image-43799\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.35.14-594x1024.png 594w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.35.14-174x300.png 174w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.35.14-768x1323.png 768w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.35.14.png 932w\" sizes=\"(max-width: 594px) 100vw, 594px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>TextView\uac00 \ub450\uac1c\uac00 \uc704\uc544\ub798\ub85c packed\ub418\uc5b4 \uc790\ub9ac\ub97c \uc7a1\uc558\uace0, Barrier\ub294 \uc774 TextView\ub4e4\uc744 end\ubc29\ud5a5\uc73c\ub85c \ucc38\uc870\ud558\uace0 \uc788\uc5b4 \uadf8\ub77c\ub370\uc774\uc158 \uc7a5\ubcbd\uc774 \uc0dd\uae34 \ubaa8\uc2b5\uc785\ub2c8\ub2e4.(\uac1c\ubc1c\uc790\uc758 \uc774\ud574\ub97c \ub3d5\uae30\uc704\ud574 preview\uc5d0\ub294 \ub098\uc624\uc9c0\ub9cc, \ub7f0\ud0c0\uc784\uc5d0 \uc2e4\uc81c\ub85c\ub294 \ub098\uc624\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4)<\/p>\n<p>Button\uc740 Barrier\ub97c \uae30\uc900\uc73c\ub85c \ubc30\uce58 \ub418\uc5b4 TextView(tv2) \uae30\uc900\uc73c\ub85c \ubc30\uce58\uac00 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc65c\ub0d0\ud558\uba74 tv2\uac00 \ub354 \uae38\uc774\uac00 \uae38\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. tv2 \ub610\ub294 tv1\uc758 \uae38\uc774\uac00 \ub2ec\ub77c\uc9c4\ub2e4\uba74 Barrier\uc758 \uc704\uce58\ub3c4 \ub2ec\ub77c\uc9c0\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.charlezz.com\/?attachment_id=43800\" rel=\"attachment wp-att-43800\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.37.02-589x1024.png\" alt=\"\" width=\"589\" height=\"1024\" class=\"aligncenter size-large wp-image-43800\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.37.02-589x1024.png 589w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.37.02-173x300.png 173w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.37.02-768x1334.png 768w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.37.02.png 922w\" sizes=\"(max-width: 589px) 100vw, 589px\" \/><\/a><\/p>\n<p>Barrier\uc5d0\uc11c \ucc38\uc870\ud558\uace0 \uc788\ub358 \ubdf0\uac00 \uc0ac\ub77c\uc9c4\ub2e4\uba74 Barrier\ub294 \uc5b4\ub5bb\uac8c \ub3d9\uc791\ud558\ub294\uc9c0 \ud655\uc778\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"lang:xhtml highlight:0 decode:true\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\r\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    tools:context=\".MainActivity\"&gt;\r\n\r\n    &lt;TextView\r\n        android:id=\"@+id\/tv1\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:background=\"@color\/colorAccent\"\r\n        android:gravity=\"center\"\r\n        android:padding=\"10dp\"\r\n        android:text=\"TV1\"\r\n        android:textColor=\"@android:color\/white\"\r\n        app:layout_constraintRight_toRightOf=\"parent\"\r\n        app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\r\n\r\n    &lt;TextView\r\n        android:id=\"@+id\/tv2\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_marginLeft=\"100dp\"\r\n        android:background=\"@color\/colorPrimary\"\r\n        android:gravity=\"center\"\r\n        android:padding=\"10dp\"\r\n        android:text=\"TV2\"\r\n        android:textColor=\"@android:color\/white\"\r\n        android:visibility=\"visible\"\r\n        app:layout_constraintBottom_toBottomOf=\"parent\"\r\n        app:layout_constraintLeft_toLeftOf=\"parent\" \/&gt;\r\n\r\n    &lt;androidx.constraintlayout.widget.Barrier\r\n        android:id=\"@+id\/id_barrier1\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        app:barrierDirection=\"right\"\r\n        app:constraint_referenced_ids=\"tv1,tv2\" \/&gt;\r\n\r\n    &lt;androidx.constraintlayout.widget.Barrier\r\n        android:id=\"@+id\/id_barrier2\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        app:barrierAllowsGoneWidgets=\"true\"\r\n        app:barrierDirection=\"left\"\r\n        app:constraint_referenced_ids=\"tv1,tv2\" \/&gt;\r\n\r\n    &lt;TextView\r\n        android:id=\"@+id\/object\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:background=\"@android:color\/holo_red_dark\"\r\n        android:gravity=\"center\"\r\n        android:padding=\"15dp\"\r\n        android:text=\"Object\"\r\n        android:textColor=\"@android:color\/white\"\r\n        app:layout_constraintBottom_toBottomOf=\"parent\"\r\n        app:layout_constraintLeft_toLeftOf=\"@+id\/id_barrier1\"\r\n        app:layout_constraintRight_toRightOf=\"@+id\/id_barrier2\"\r\n        app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\r\n\r\n&lt;\/androidx.constraintlayout.widget.ConstraintLayout&gt;<\/pre>\n<p><a href=\"https:\/\/www.charlezz.com\/?attachment_id=43801\" rel=\"attachment wp-att-43801\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.37.50-596x1024.png\" alt=\"\" width=\"596\" height=\"1024\" class=\"aligncenter size-large wp-image-43801\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.37.50-596x1024.png 596w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.37.50-175x300.png 175w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.37.50-768x1318.png 768w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.37.50.png 932w\" sizes=\"(max-width: 596px) 100vw, 596px\" \/><\/a><\/p>\n<p>TV1\uacfc TV2\ub97c \ucc38\uc870\ud558\ub294 Barrier\ub97c left,right \ubc29\ud5a5\uc73c\ub85c \ub450\uac1c \ub9cc\ub4e4\uace0, \uadf8 Barrier\ub4e4 \uc911\uc559\uc5d0 Object\ub97c \ubc30\uce58\ud55c \ubaa8\uc2b5\ub2c8\ub2e4. \uc774 \uc0c1\ud0dc\uc5d0\uc11c TV2\uac00 GONE\ub41c\ub2e4\uba74 \uc5b4\ub5bb\uac8c \ub420\uae4c\uc694?<\/p>\n<p><a href=\"https:\/\/www.charlezz.com\/?attachment_id=43802\" rel=\"attachment wp-att-43802\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.38.44-593x1024.png\" alt=\"\" width=\"593\" height=\"1024\" class=\"aligncenter size-large wp-image-43802\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.38.44-593x1024.png 593w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.38.44-174x300.png 174w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.38.44-768x1325.png 768w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.38.44.png 940w\" sizes=\"(max-width: 593px) 100vw, 593px\" \/><\/a><\/p>\n<p>TV2\uac00 \uc5c6\uc5b4\uc9c0\uba74\uc11c TV2\uc758 left\ubc29\ud5a5\uc744 \ucc38\uc870\ud558\uace0 \uc788\ub358 Barrier\uc758 \uc704\uce58\uac00 parent\uc778 ConstraintLayout\uc744 \ucc38\uc870\ud558\uba74\uc11c object\uc758 \uc704\uce58\uac00 \ubc14\ub010\uac83\uc744 \ud655\uc778 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>TV2\uac00 GONE\uc0c1\ud0dc\uac00 \ub420\ub54c\ub294 \uc774\uc640 \uad00\ub828\ud55c \ucc38\uc870\ub97c \ub04a\uace0 \uc2f6\uc744\uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ud574\ub2f9 Barrier\uc758 \uc18d\uc131\uc744<br \/>\n<strong>app:barrierAllowsGoneWidgets=&#8221;false&#8221;\u00a0<\/strong>\ub2e4\uc74c\uacfc \uac19\uc774 \ubc14\uafbc\ub2e4\uba74 TV2\uc758 \ucc38\uc870\ub97c \ub04a\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\uba74 TV2\uc758 left \uae30\uc900\uc73c\ub85c \uc0dd\uacbc\ub358 Barrier\ub294 TV1\uc758 left\uae30\uc900\uc73c\ub85c \uc704\uce58\ub97c \uc62e\uae30\uba74\uc11c \ub2e4\uc74c\uacfc \uac19\uc740 \uacb0\uacfc\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.charlezz.com\/?attachment_id=43803\" rel=\"attachment wp-att-43803\"><\/a><a href=\"https:\/\/www.charlezz.com\/?attachment_id=43804\" rel=\"attachment wp-att-43804\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.41.33-1-589x1024.png\" alt=\"\" width=\"589\" height=\"1024\" class=\"aligncenter size-large wp-image-43804\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.41.33-1-589x1024.png 589w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.41.33-1-172x300.png 172w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.41.33-1-768x1336.png 768w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.41.33-1.png 928w\" sizes=\"(max-width: 589px) 100vw, 589px\" \/><\/a><a href=\"https:\/\/www.charlezz.com\/?attachment_id=43803\" rel=\"attachment wp-att-43803\"><br \/>\n<\/a><\/p>\n<h2>Group<\/h2>\n<p>Group\uc740 \uc5ec\ub7ec\ubdf0\ub4e4\uc744 \ucc38\uc870\ud558\uba70, \ucc38\uc870\ub41c \ubdf0\ub4e4\uc744 \uc27d\uac8c hide \/ show \ud560 \uc218 \uc788\ub294 \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc5ec\ub7ec Group\ub4e4\uc774 \ub3d9\uc2dc\uc5d0 \uac19\uc740 \ubdf0\ub97c \ucc38\uc870\ud558\uc5ec \ubdf0\uc758 \uc0c1\ud0dc\ub97c \ubcc0\uacbd\ud558\ub294 \uacbd\uc6b0 xml\uc5d0 \uc120\uc5b8\ub41c \uc21c\uc11c\ub97c \ub530\ub77c \ub9c8\uc9c0\ub9c9\uc5d0 \uc801\uc6a9\ub41c Group\uc758 state\ub97c \ub530\ub985\ub2c8\ub2e4.<\/p>\n<p>\uc608\uc81c\ub97c \ud655\uc778\ud574\ubcf4\uc2dc\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"lang:xhtml highlight:0 decode:true\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\r\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    tools:context=\".MainActivity\"&gt;\r\n\r\n    &lt;Button\r\n        android:id=\"@+id\/btn1\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:text=\"btn1\"\r\n        app:layout_constraintLeft_toLeftOf=\"parent\"\r\n        app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\r\n\r\n    &lt;Button\r\n        android:id=\"@+id\/btn2\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:text=\"btn2\"\r\n        app:layout_constraintRight_toRightOf=\"parent\"\r\n        app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\r\n\r\n    &lt;androidx.constraintlayout.widget.Group\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:visibility=\"visible\"\r\n        app:constraint_referenced_ids=\"btn1,btn2\" \/&gt;\r\n&lt;\/androidx.constraintlayout.widget.ConstraintLayout&gt;<\/pre>\n<p><a href=\"https:\/\/www.charlezz.com\/?attachment_id=43805\" rel=\"attachment wp-att-43805\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.42.59-598x1024.png\" alt=\"\" width=\"598\" height=\"1024\" class=\"aligncenter size-large wp-image-43805\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.42.59-598x1024.png 598w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.42.59-175x300.png 175w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.42.59-768x1315.png 768w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/charles-2019-12-21-\uc624\ud6c4-6.42.59.png 946w\" sizes=\"(max-width: 598px) 100vw, 598px\" \/><\/a><\/p>\n<p>group\uc758 visibility\ub97c \ubcc0\uacbd\ud558\uc5ec \ubc84\ud2bc\uc774 \uc0ac\ub77c\uc9c0\ub294\uc9c0 \ud655\uc778\ud574\ubcf4\uc138\uc694<\/p>\n<h2>Placeholder<\/h2>\n<p>Placeholder\ub294 \uc774\ubbf8 \uc874\uc7ac\ud558\ub294 \ubdf0\uc758 \uc704\uce58\ub97c \uc870\uc815\ud560 \uc218 \uc788\ub294 \uac00\uc0c1\uc624\ube0c\uc81d\ud2b8\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc5b4\ub5a4 \ubdf0\uc758 id\uc640 \ud568\uaed8 setContent()\uba54\uc18c\ub4dc\ub97c \uc774\uc6a9\ud558\uc5ec\u00a0 Placeholder\uc5d0 \uc801\uc6a9\ub418\uc5c8\ub2e4\uba74, Placeholder\ub294 \ud6a8\uacfc\uc801\uc73c\ub85c \ud574\ub2f9 \ubdf0(content view)\ub97c \ud45c\ud604\ud569\ub2c8\ub2e4. content view\ub85c \ub3d9\uc791\ud558\uba74 \uc6d0\ub798 \uac00\uc9c0\uace0 \uc788\ub358 \ubdf0\uc758 \uc704\uce58\ub294 GONE\ucc98\ub7fc \ub3d9\uc791\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc608\uc81c\ub97c \ud655\uc778\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"lang:xhtml highlight:0 decode:true\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\r\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    android:background=\"#55000000\"\r\n    tools:context=\".MainActivity\"&gt;\r\n\r\n    &lt;androidx.constraintlayout.widget.Placeholder\r\n        android:id=\"@+id\/place_holder\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_marginTop=\"100dp\"\r\n        app:layout_constraintLeft_toLeftOf=\"parent\"\r\n        app:layout_constraintRight_toRightOf=\"parent\"\r\n        app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\r\n\r\n    &lt;ImageView\r\n        android:id=\"@+id\/iv1\"\r\n        android:layout_width=\"50dp\"\r\n        android:layout_height=\"50dp\"\r\n        android:src=\"@android:drawable\/ic_dialog_alert\"\r\n        app:layout_constraintBottom_toBottomOf=\"parent\"\r\n        app:layout_constraintLeft_toLeftOf=\"parent\" \/&gt;\r\n\r\n    &lt;ImageView\r\n        android:id=\"@+id\/iv2\"\r\n        android:layout_width=\"50dp\"\r\n        android:layout_height=\"50dp\"\r\n        android:src=\"@android:drawable\/ic_dialog_map\"\r\n        app:layout_constraintBottom_toBottomOf=\"parent\"\r\n        app:layout_constraintLeft_toLeftOf=\"parent\"\r\n        app:layout_constraintRight_toRightOf=\"parent\" \/&gt;\r\n\r\n    &lt;ImageView\r\n        android:id=\"@+id\/iv3\"\r\n        android:layout_width=\"50dp\"\r\n        android:layout_height=\"50dp\"\r\n        android:src=\"@android:drawable\/ic_dialog_dialer\"\r\n        app:layout_constraintBottom_toBottomOf=\"parent\"\r\n        app:layout_constraintRight_toRightOf=\"parent\" \/&gt;\r\n    \r\n&lt;\/androidx.constraintlayout.widget.ConstraintLayout&gt;<\/pre>\n<pre class=\"lang:java highlight:0 decode:true \">class PlaceHolder1Activity : AppCompatActivity() {\r\n\r\n    override fun onCreate(savedInstanceState: Bundle?) {\r\n        super.onCreate(savedInstanceState)\r\n        setContentView(R.layout.activity_place_holder1)\r\n\r\n        iv1.setOnClickListener {\r\n           place_holder.setContentId(R.id.iv1)\r\n        }\r\n        iv2.setOnClickListener {\r\n            place_holder.setContentId(R.id.iv2)\r\n        }\r\n        iv3.setOnClickListener {\r\n            place_holder.setContentId(R.id.iv3)\r\n        }\r\n    }\r\n}<\/pre>\n<div style=\"width: 720px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]--><br \/>\n<video class=\"wp-video-shortcode\" id=\"video-691-1\" width=\"720\" height=\"1080\" loop=\"1\" autoplay=\"1\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/mobizen_20180817_172259.mp4?_=1\" \/><a href=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/mobizen_20180817_172259.mp4\">https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/mobizen_20180817_172259.mp4<\/a><\/video><\/div>\n<p>PlaceHolder\ub97c \uc774\uc6a9\ud55c \ub610 \ub2e4\ub978 \uc608\uc81c \uc785\ub2c8\ub2e4.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/Screenshot_1534494466-576x1024.png\" alt=\"\" width=\"576\" height=\"1024\" class=\"aligncenter size-large wp-image-695\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/Screenshot_1534494466-576x1024.png 576w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/Screenshot_1534494466-169x300.png 169w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/Screenshot_1534494466-768x1365.png 768w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/Screenshot_1534494466.png 1080w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/Screenshot_1534494471-1024x576.png\" alt=\"\" width=\"750\" height=\"422\" class=\"aligncenter size-large wp-image-694\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/Screenshot_1534494471-1024x576.png 1024w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/Screenshot_1534494471-300x169.png 300w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/Screenshot_1534494471-768x432.png 768w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2018\/08\/Screenshot_1534494471.png 1920w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/p>\n<p>\uac19\uc740 \ub808\uc774\uc544\uc6c3\uc774\uc9c0\ub9cc Placeholder\ub97c \uc774\uc6a9\ud558\uc5ec \ub808\uc774\uc544\uc6c3\uc744 \uc7ac\ubc30\uce58 \ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud574\ub2f9 \uc18c\uc2a4\ub294 <a href=\"https:\/\/github.com\/Charlezz\/GuideHelperObjSample\">github<\/a>\uc5d0\uc11c \ud655\uc778 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Virtual Helpers objects(\ubdf0\uc758 \ubc30\uce58\ub97c \ub3d5\ub294 \uac00\uc0c1 \uc624\ube0c\uc81d\ud2b8) \uc9c0\ub09c\uc2dc\uac04 Part1\uc5d0\uc11c\ub294 ConstraintLayout\uc744 \uc774\uc6a9\ud558\uc5ec \uae30\ubcf8\uc801\uc778 \ub808\uc774\uc544\uc6c3\uc744 \uc7a1\ub294 \uc5f0\uc2b5\uc744 \ud588\uc2b5\ub2c8\ub2e4. \uc774\ubc88\uc2dc\uac04\uc5d0\ub294 ConstraintLayout\uc5d0\uc11c \uac00\uc0c1 \uc624\ube0c\uc81d\ud2b8\ub4e4\uc5d0 \uc0ac\uc6a9\uc744 \ud1b5\ud574 \uc880 \ub354 \ub2e4\uc591\ud55c \ub808\uc774\uc544\uc6c3\uc744 \ub9cc\ub4dc\ub294 \uc5f0\uc2b5\uc744 \ud574\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4. \uac00\uc0c1\uc624\ube0c\uc81d\ud2b8\uc758 \uc885\ub958\uc5d0\ub294 Guidline, Barrier, Group, Placeholder\uac00 \uc788\uc2b5\ub2c8\ub2e4. Guideline \ubdf0\uc758 \uc704\uce58\ub97c \uc7a1\ub294\ub370 \ub3c4\uc6c0\uc744 \uc8fc\ub294 \uc720\ud2f8\ub9ac\ud2f0 \ud074\ub798\uc2a4\ub85c \uae30\ubcf8\uc801\uc778 \ub3d9\uc791\uc740 visibility\uc758 \uc0c1\ud0dc\ub294 View.GONE\uc774\ubbc0\ub85c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[16],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/691"}],"collection":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=691"}],"version-history":[{"count":14,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/691\/revisions"}],"predecessor-version":[{"id":43806,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/691\/revisions\/43806"}],"wp:attachment":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=691"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=691"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}