일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- layout
- vim
- component
- props
- view
- cardview
- permission
- http
- java
- 안드로이드
- ReactDOM
- ViewGroup
- intent
- Git
- javascript
- function scope
- .kt
- RecyclerView
- Anko SQLite
- android
- block scope
- Kotlin
- LinearLayout
- Retrofit2
- react
- Eclipse
- linux
- RelativeLayout
- ConstraintLayout
- Anro Coroutines
- Today
- Total
이것저것 다 개발
[Android] ConstraintLayout 본문
ConstraintLayout
ConstraintLayout은 View 또는 View Group 간의 상대적인 위치 지정을 하여 View를 배치하는 Layout 입니다.
위 화면은 instagram의 화면을 따라서 만든 화면입니다.
화면을 보시면 각 View간 화살표로 연결되어 있는것을 볼 수 있습니다. Android Studio에서 Drag & Drop으로
activity_**.xml Design 탭에서 이런 화면을 간단하게 만들 수 있습니다.
안드로이드 layout의 xml을 다루지 못하는 사람도 누구나 쉽게 Layout을 배치하고 만들 수 있습니다.
Text 탭으로 넘어가게 되면 코드가 작성되있는 것을 볼 수 있습니다.
각 View 객체를 이루고있는 4개의 선에는 끌어당길 수 있는 점 4개가 존재합니다.
4개의 선 가운데 위치한 점을 끌어 다른 View의 상대적인 배치를 할 수 있게됩니다.
View를 Layout의 중앙에 위치하길 원한다면 이 점을 좌우 양끝으로 끌어서
같은 힘으로 당기는 양쪽 스프링이 View를 끌어당기듯 중앙 배치할 수 있습니다.
bias 속성을 사용한다면 좀더 좌측, 좀더 우측으로 View 배치가 가능합니다.
ConstraintLayout과 다른 Layout 또는 View의 다른점 하나를 꼽자면
ConstraintLayout의 layout_width 는 match_parent로 쓰지 않습니다. 0dp(match_constraint)로 표기합니다.
LinearLayout은 수직, 수평 배치로 가장 간단하게 배치가 가능하지만 성능면에서 많이 떨어지고,
RelativeLayout은 성능면에서 우수하지만 View 배치 속성이 많고 복잡하다는 단점이 있습니다.
ConstraintLayout은 이 두가지 Layout의 장점을 모두 취할 수 있는 Layout입니다.
'Android' 카테고리의 다른 글
[Android] Flavor 사용하기 (빌드 변형 구성) (0) | 2019.01.09 |
---|---|
[Android] ProgressDialog 사용하기 (0) | 2018.07.13 |
[Android] OpenWeatherMap 날씨 API 사용 앱 만들기 (14) | 2018.05.28 |
[Android] Retrofit2 사용해보기 (2) | 2018.05.25 |
[Android] MVC Pattern (0) | 2018.04.26 |