
Relative Layout • 부모가 될 수 있는 뷰 (컨테이너 뷰) • 자식 뷰들을 특정 기준점을 기준으로 정리하는 레이아웃 - 기준점 : 부모 뷰, 자식 뷰 • 계산하는 방식이 리소스를 많이 먹음 -> 정말 필요할 때만 사용 1. 부모 뷰 기준 • 부모 뷰를 기준으로 자식 뷰들의 위치를 정함 • 속성 - android:layout_alignParentLeft="true" : 부모 뷰 안의 맨 왼쪽에 자식 뷰 배치 - true false로 속성 적용 여부 결정 - Left 대신 Right, Top, Bottom 등을 넣어 상하좌우 위치 설정 - android:layout_centerInParent="true" : 부모 뷰 안의 정가운데에 자식 뷰 배치 - true false로 속성 적용 여부 결정 2..

리니어 레이아웃 • 자식 뷰들을 하나의 가로 또는 세로 방향으로 정리하는 레이아웃 • 부모가 될 수 있는 컨테이너 뷰 1. 속성 • orientation : 자식 뷰의 방향을 설정 - horizontal : 가로, 수평 방향. - vertical : 세로, 수직 방향. • android:layout_width / android:layout_height : 레이아웃의 가로 / 세로 길이 - 직접 입력 : 100dp, 5px 같이 길이를 직접 입력 - match_parent : 부모 뷰의 길이만큼으로 설정 * 만약 부모 뷰가 없는 최상위 뷰라면 화면 전체를 기준으로 삼는다. - wrap_content : 내용물의 크기만큼 설정 • android:layout_weight : (가중치) / (전체 가중치) 비율..

뷰 컴포넌트 • 화면을 구성하는 요소. • View와 ViewGroup으로 나뉨. 1. View • 사용자가 볼 수 있거나 상호작용할 수 있는 것. • 위젯(Widgets)이라고 불림. 2. ViewGroup • 여러 View 또는 ViewGroup을 담기 위한 보이지 않는 구역 • 레이아웃(Layouts)이라고 불림. * 명칭에 관하여 • 뷰 컴포넌트의 안드로이드 공식 홈페이지에서 나오는 명칭은 layout으로 아래와 같이 구분한다. Layouts ㄴ View ㄴ ViewGroup • 하지만 개발자들이 흔히 부르는 방법은 공식 명칭과 다른 것 같다. View ㄴ Widgets ㄴ Layouts • View도 View, Componet, Widgets, Layouts 등으로 혼용해서 부른다. • 뚜렷한 ..
px • Pixel • 화면을 구성하는 최소 단위 • 실제로 존재하는 물리적 단위 • 같은 단위 면적에 픽셀이 많이 있을수록 해상도가 높다. • px 단위로 UI를 설정하면 사용자의 해상도마다 UI가 달라질 수 있다. dp • Density-independent Pixels • 픽셀에 독립적인 단위 • 화면의 크기가 달라도 동일한 비율로 보여주기 위해서 안드로이드에서 정의한 단위 • 비율로 크기를 정함. • 해상도가 160dpi일 때를 기준으로 1px 만큼의 크기가 1dp이다. * dpi - Dot Per Inch - 해상도의 단위 - 인치 당 들어가 있는 픽셀의 수 ex) 100dpi = 1인치당 픽셀의 수 100개 - 즉, 1인치당 160개의 픽셀이 들어가는 디스플레이의 1px의 크기가 1dp - 이..
언어의 목적 1. General Purpose Language • 범용적인 목적을 가지고 있는 언어 ex) Kotlin, Python, Java, C, C++, Swift 등... - 우리가 아는 일반적인 언어 2. Domain Specific Language (DSL) • 도메인 특화 언어 -> 특수한 목적을 달성하기 위한 언어 • 만들 때 부터 특정 문제를 해결하기 위해 만들어 짐. -> 문법이 간단함. ex) XML XML(eXtensible Markup Language) • 데이터의 구조와 의미를 잘 전달할 수 있게 만든 언어. • 안드로이드에서 UI를 그리기 위해 채택되었다. • extensible = 확장 가능하다. -> 태그 안에 태그를 추가, 또 추가... 할 수 있다. • markup l..