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 | 31 |
Tags
- PL/SQL
- 암호화
- JSP
- docker
- tiles.xml
- Servlet
- RDS
- Spring
- 웹소켓
- express
- 도커
- EC2
- SQL
- HTML
- CSS
- JavaScript
- node.js
- jQuery
- Cookie
- 배포
- 알고리즘
- phaser
- 블록체인
- Ajax
- autowired
- websocket
- 비트코인
- AWS
- model1
- 웹게임
Archives
- Today
- Total
記錄
레이아웃을 활용한 다양한 뷰 배치 - LinearLayout 본문
LinearLayout
레이아웃에 포함된 뷰를 가로나 세로로 나열하는 레이아웃이고 이는 orientation으로 제어한다.
layout_gravity vs gravity vs LinearLayout의 gravity
LinearLayout내에서 뷰의 위치를 변경하고 싶으면 뷰 내에서 layout_gravity 속성을 활용하고 뷰 내에서 컨텐츠(내용)의 위치를 변경하고 싶으면 마찬가지로 뷰 내에서 gravity를 사용한다. 단, orientation의 설정에 따라서 뷰에서의 layout_gravity는 적용이 안되는 경우가 발생한다. 예를 들어 orientation에서 horizontal설정이 되어 있다면 뷰 내에서의 layout_gravity에서 center_horizontal을 설정해도 적용이 되지 않는다. 그래서 이를 해결하기 위해서는 LinearLayout의 속성값으로 gravity를 사용해야 한다.
정리: 레이아웃 내에서 컨트롤 -> layout_ ~ // 뷰 내에서 컨텐츠 내용 위치 -> gravity
weight
여백을 배치된 뷰가 확장해서 사용할 수 있도록 해주는 것. 전체 입력된 수로 화면을 등분하여 수치만큼 화면을 할당한다. 즉 적용된 layout 단위로 비율을 나눠먹게 된다.
LinearLayout 간단한 실습
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="horizontal"
tools:context="com.kimjungkwon.test4_1.MainActivity">
<ImageView
android:src="@drawable/character"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxWidth="80dp"
android:padding="15dp"/> // 미니언즈 약간 작게 하려고 패딩 넣음
<LinearLayout // 여기서 레이아웃 중첩이 일어난다
android:layout_width="wrap_content"
android:layout_height="wrap_content" //이걸 match_parent할 경우 밑에 스샷 참고
android:orientation="vertical"
android:layout_weight="1"> // 날짜부 오른쪽으로 밀어내려고 weight값 부여
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="홍길동"
android:textSize="20dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="안녕하세요. 잘 지내시는 지요?"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="18. 1. 11"/>
</LinearLayout>
LinearLayout 중첩시 위에 올라간 작은 LinearLayout의 height에 wrap_content와 match_parent할 경우 차이점
'Mobile > Android' 카테고리의 다른 글
레이아웃을 활용한 다양한 뷰 배치 - FrameLayout (0) | 2018.01.11 |
---|---|
레이아웃을 활용한 다양한 뷰 배치 - RelativeLayout, ConstraintLayout (0) | 2018.01.11 |
사용자 인터페이스(UI) -2 (0) | 2018.01.11 |
사용자 인터페이스(UI) -1 (0) | 2018.01.10 |
기초 (0) | 2018.01.10 |
Comments