{"id":27,"date":"2017-09-19T04:15:28","date_gmt":"2017-09-18T19:15:28","guid":{"rendered":"http:\/\/batmask.co.kr\/?p=27"},"modified":"2025-09-07T11:46:28","modified_gmt":"2025-09-07T02:46:28","slug":"constraint-layout-%ec%82%ac%ec%9a%a9%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/batmask.net\/index.php\/2017\/09\/19\/27\/","title":{"rendered":"constraint layout \uc124\uc815\ud558\uae30"},"content":{"rendered":"\n<p>\uc548\ub4dc\ub85c\uc774\ub4dc \uc2a4\ud29c\ub514\uc624\uc5d0\uc11c \uc0c8\ub85c \ucd94\uac00\ub41c \ub808\uc774\uc544\uc6c3\uc778 constraint layout\uc744 \uc4f0\ub824\uace0 \ubcf4\ub2c8, \uadf8\ub0e5 \uc0ac\uc6a9\uc774 \uc548\ub418\uc5c8\ub2e4. \uc54c\uace0\ubcf4\ub2c8, \ub0b4\uac00 \ub85c\ub4dc\ud55c \ud504\ub85c\uc81d\ud2b8\uac00 \uc61b\ub0a0\uac70\ub77c\uc11c constraint layout\uc124\uc815\uc774 \ube60\uc9c4\uc0c1\ud0dc\uc600\ub2e4. \uc138\ub85c \ud504\ub85c\uc81d\ud2b8\ub97c \ub9cc\ub4e4\uc5b4 \ubcf4\ub2c8, \uc790\ub3d9\uc73c\ub85c \uad00\ub828 \uc124\uc815\uc774 \ucd94\uac00\ub41c\ub2e4. \uc544\ubb4f\ud2bc, \uc218\ub3d9\uc73c\ub85c constraint layout \uc0ac\uc6a9\uc124\uc815\ud558\ub294\ubc95\uc744 \uc0b4\ud3b4\ubcf4\uaca0\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. \ub77c\uc774\ube0c\ub7ec\ub9ac \ubc84\uc804\ud655\uc778 \ubc0f \ub2e4\uc6b4\ub85c\ub4dc<\/h3>\n\n\n\n<p>constraint layout\uc740 android support library\uc911 \ud558\ub098\ub85c \uc81c\uacf5\ub41c\ub2e4. \ud574\ub2f9 \ub77c\uc774\ube0c\ub7ec\ub9ac \ub2e4\uc6b4\ub85c\ub4dc \ubc0f \uc0c1\uc138\ubc84\uc804\uc744 SDK Manager\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\ub2e4. \uadf8\ub9bc\uacfc \uac19\uc774 \uba54\ub274\uc758 Tools &gt; Android &gt; SDK Manager \uc5d0 \uc788\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image size-medium wp-image-33\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"226\" src=\"http:\/\/batmask.co.kr\/wordpress\/wp-content\/uploads\/2017\/09\/android-studio-sdk-manager-0-edit-300x226.png\" alt=\"\" class=\"wp-image-33\" srcset=\"http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2017\/09\/android-studio-sdk-manager-0-edit-300x226.png 300w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2017\/09\/android-studio-sdk-manager-0-edit-768x579.png 768w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2017\/09\/android-studio-sdk-manager-0-edit-1024x772.png 1024w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2017\/09\/android-studio-sdk-manager-0-edit.png 1082w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption class=\"wp-element-caption\">SDK Manager 1<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image size-medium wp-image-35\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"196\" src=\"http:\/\/batmask.co.kr\/wordpress\/wp-content\/uploads\/2017\/09\/android-studio-sdk-manager-1-edit-1-300x196.png\" alt=\"\" class=\"wp-image-35\" srcset=\"http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2017\/09\/android-studio-sdk-manager-1-edit-1-300x196.png 300w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2017\/09\/android-studio-sdk-manager-1-edit-1-768x502.png 768w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2017\/09\/android-studio-sdk-manager-1-edit-1-1024x670.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption class=\"wp-element-caption\">SDK Manager 2<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\uc0c1\uc138\ud55c \ubc84\uc804\uc815\ubcf4\uac00 \ud45c\uc2dc\ub418\uc9c0 \uc54a\uc73c\uba74, \uc624\ub298\ucabd \uc544\ub798\uc5d0 \uc788\ub294 &#8216;Show Package Details&#8217;\ub97c \uccb4\ud06c\ud558\uba74\ub41c\ub2e4. \uae00 \uc791\uc131 \uc2dc\uc810\uc5d0\uc11c 1.0.2\ub85c \ud45c\uc2dc\ub418\ub294\uac78 \ud655\uc778 \ud560 \uc218 \uc788\ub2e4. \ub77c\uc774\ube0c\ub7ec\ub9ac\uac00 \uccb4\ud06c \uc548\ub418\uc5b4 \uc788\uc73c\uba74 \uccb4\ud06c\ud574\uc11c \ub2e4\uc6b4\ub85c\ub4dc\ub97c \uc9c4\ud589\ud55c\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. \ud504\ub85c\uc81d\ud2b8 gradle \uc218\uc815<\/h3>\n\n\n\n<p>\uc55e\uc5d0\uc11c \uc5b8\uae09\ud588\ub4ef\uc774, \ucd5c\uc2e0 \uc548\ub4dc\ub85c\uc774\ub4dc \uc2a4\ud29c\ub514\uc624\uc5d0\uc11c \uc0c8\ub85c \uc0dd\uc131\ud55c \ud504\ub85c\uc81d\ud2b8\ub77c\uba74 \uc790\ub3d9\uc73c\ub85c \ucd94\uac00\ub418\uc5b4 \uc788\uc744 \uac83\uc774\ub2e4. \ub0b4\uac00 \uacaa\uc740 \ubb38\uc81c\ub294 \uc608\uc804 \ud504\ub85c\uc81d\ud2b8 \ud30c\uc77c\uc784\uc744 \ub2e4\uc2dc \uc54c\ub824\ub454\ub2e4.<\/p>\n\n\n\n<p>\uba3c\uc800 \ud504\ub85c\uc81d\ud2b8 \uae00\ub85c\ubc8c build.gradle\uc744 \uc5f4\uc5b4 \ub2e4\uc74c\ucc98\ub7fc &#8216;https:\/\/maven.google.com&#8217; \ub808\ud3ec\uc9c0\ud1a0\ub9ac\ub97c \ucd94\uac00\ud55c\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>allprojects {\n    repositories {\n        jcenter()\n\n        \/\/ \ucd94\uac00\ub41c \ubd80\ubd84 \n        maven {\n            url 'https:\/\/maven.google.com'\n        }\n    }\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">allprojects {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    repositories {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #DCBDFB\">jcenter<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #768390\">\/\/ \ucd94\uac00\ub41c \ubd80\ubd84 <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        maven {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            url <\/span><span style=\"color: #96D0FF\">&#39;https:\/\/maven.google.com&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\ub450\ubc88\uc9f8\ub85c \ub2e4\ub978 gradle\ud30c\uc77c\uc778 \ubaa8\ub4c8\uc758 build.gradle \ud30c\uc77c\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc774 \ucd94\uac00\ud55c\ub2e4. \ubc84\uc804 \uac12\uc740 SDK Manager\uc5d0\uc11c \ud655\uc778\ud55c \uac12\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>dependencies {\n    ...\n    compile 'com.android.support.constraint:constraint-layout:1.0.2'\n    ...\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">dependencies {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    compile <\/span><span style=\"color: #96D0FF\">&#39;com.android.support.constraint:constraint-layout:1.0.2&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>gradle \ud30c\uc77c\uc744 \uc218\uc815\ud588\uc73c\ubbc0\ub85c \uc2f1\ud06c\ub97c \uc9c4\ud589\ud55c\ub2e4. \uc544\ub9c8\ub3c4, \uc790\ub3d9\uc73c\ub85c Sync Now\ub77c\uace0 \uc54c\ub78c\uc774 \ub730 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<p>\uc774\uc81c \uc0c8 \ub808\uc774\uc544\uc6c3\uc744 \uc0dd\uc131\uc2dc, Root element\ub85c ConstraintLayout \uc774 \uc120\ud0dd \uac00\ub2a5\ud55c \uac83\uc744 \ud655\uc778 \ud560 \uc218 \uc788\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc548\ub4dc\ub85c\uc774\ub4dc \uc2a4\ud29c\ub514\uc624\uc5d0\uc11c \uc0c8\ub85c \ucd94\uac00\ub41c \ub808\uc774\uc544\uc6c3\uc778 constraint layout\uc744 \uc4f0\ub824\uace0 \ubcf4\ub2c8, \uadf8\ub0e5 \uc0ac\uc6a9\uc774 \uc548\ub418\uc5c8\ub2e4. \uc54c\uace0\ubcf4\ub2c8, \ub0b4\uac00 \ub85c\ub4dc\ud55c \ud504\ub85c\uc81d\ud2b8\uac00 \uc61b\ub0a0\uac70\ub77c\uc11c constraint layout\uc124\uc815\uc774 \ube60\uc9c4\uc0c1\ud0dc\uc600\ub2e4. \uc138\ub85c \ud504\ub85c\uc81d\ud2b8\ub97c \ub9cc\ub4e4\uc5b4 \ubcf4\ub2c8, \uc790\ub3d9\uc73c\ub85c \uad00\ub828 \uc124\uc815\uc774 \ucd94\uac00\ub41c\ub2e4. \uc544\ubb4f\ud2bc, \uc218\ub3d9\uc73c\ub85c constraint layout \uc0ac\uc6a9\uc124\uc815\ud558\ub294\ubc95\uc744 \uc0b4\ud3b4\ubcf4\uaca0\ub2e4. 1. \ub77c\uc774\ube0c\ub7ec\ub9ac \ubc84\uc804\ud655\uc778 \ubc0f \ub2e4\uc6b4\ub85c\ub4dc constraint layout\uc740 android support library\uc911 \ud558\ub098\ub85c \uc81c\uacf5\ub41c\ub2e4. \ud574\ub2f9 \ub77c\uc774\ube0c\ub7ec\ub9ac \ub2e4\uc6b4\ub85c\ub4dc \ubc0f \uc0c1\uc138\ubc84\uc804\uc744 SDK Manager\uc5d0\uc11c \ud655\uc778\ud560 \uc218 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[8,14,20],"class_list":["post-27","post","type-post","status-publish","format-standard","hentry","category-android","tag-constraint","tag-layout","tag-android"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts\/27","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/comments?post=27"}],"version-history":[{"count":2,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts\/27\/revisions"}],"predecessor-version":[{"id":3386,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts\/27\/revisions\/3386"}],"wp:attachment":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/media?parent=27"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/categories?post=27"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/tags?post=27"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}