Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- websocket
- 블록체인
- JSP
- tiles.xml
- HTML
- 도커
- AWS
- node.js
- 알고리즘
- Ajax
- 배포
- PL/SQL
- autowired
- SQL
- EC2
- 웹게임
- model1
- docker
- Spring
- Servlet
- 암호화
- express
- JavaScript
- CSS
- phaser
- 비트코인
- 웹소켓
- jQuery
- RDS
- Cookie
Archives
- Today
- Total
記錄
레이아웃을 활용한 다양한 뷰 배치 - RelativeLayout, ConstraintLayout 본문
RelativeLayout
RelativeLayout은 화면에 이미 배치된 뷰를 기준으로 다른 뷰의 위치를 지정하는 레이아웃이다. layout_above, layout_below, layout_toLeftOf, layout_toRightOf 이렇게 네 개로 상대적 위치를 지정한다. 상대적 위치를 지정하는 레이아웃인 만큼 먼저 기준이 될 뷰를 인식해야 하므로 id 부여는 필수이다.
align
상대적인 위치를 설정하고 나서 화면을 깔끔하게 하기 위해서는 정렬을 해야한다. 즉, 왼쪽 변을 맞추든 윗 변을 맞추든 선을 맞춤으로써 UI가 더 깔끔해 질 수 있고 이는 align을 이용한다
alignParentXXX
부모 뷰의 면적에서 원하는 위치에 배치하는 기능을 한다
RelativeLayout 실습
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.kimjungkwon.relativelayouttest.MainActivity">
<ImageView
android:id="@+id/profile" // 상대적 배치를 위해 뷰 인식을 해야해서 id 항상 부여
android:src="@drawable/character"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxHeight="80dp"
android:maxWidth="80dp"
android:padding="10dp"/>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/profile"
android:text="홍길동"
android:textSize="20dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"/>
<TextView
android:id="@+id/greeting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/name"
android:layout_alignLeft="@+id/name"
android:layout_marginTop="5dp"
android:text="안녕하세요. 잘 지내시는 지요?"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="17. 1. 11"
android:layout_alignParentRight="true"/> // 부모 뷰의 면적에서 위치 결정
</RelativeLayout>
ConstraintLayout
RelativeLayout와 같은 원리로 id를 잡아 상대적 위치를 설정하는 것이다. 단지 RelativeLayout보다 위치 지정하는 속성이 더 많다는 것만 알고 일단 넘어가도록 한다.
'Mobile > Android' 카테고리의 다른 글
레이아웃을 활용한 다양한 뷰 배치 - TableLayout, GridLayout (0) | 2018.01.13 |
---|---|
레이아웃을 활용한 다양한 뷰 배치 - FrameLayout (0) | 2018.01.11 |
레이아웃을 활용한 다양한 뷰 배치 - LinearLayout (0) | 2018.01.11 |
사용자 인터페이스(UI) -2 (0) | 2018.01.11 |
사용자 인터페이스(UI) -1 (0) | 2018.01.10 |
Comments