- 가이드 라인: 여러 개의 뷰를 일정한 기준 선에 정렬할 때 사용합니다. 뷰처럼 화면에 배치를 할 수 있습니다. 실제 화면에서는 보이지 않습니다.
- 뷰의 크기: layout_weight, layout_height
- 뷰의 여백: Constraint Widget의 상 하 좌 우 margin(여백). 단, ConstraintLayout에서는 여백을 주려면 해당 방향에 제약조건이 설정되어 있어야 합니다.
- 뷰의 연결점: 왼 오 위 아래 / 가로축 중앙, 세로축 중앙 / 베이스라인
- id 속성의 종류:
1. XML 레이아웃 파일 안에서 뷰를 구분할 때
2. XML 레이아웃 파일에서 정의한 뷰를 자바 소스 파일에서 찾을 때
- 연결점 속성이 생성되는 규칙: layout_constraint[소스 뷰의 연결점]_[타깃 뷰의 연결점] = "[타깃 뷰의 id]"
- 크기 단위: sp(축적 독립적 픽셀), px
- 고정 글꼬로 vs 가변 글꼴
- 소스 파일 -> /app/java/<패키지 이름>/<파일 이름>
- XML 레이아웃 파일 -> /app/res/layout/<파일 이름>
- img 파일 -> /app/res/drawable/<파일 이름>
안드로이드에서 제공하는 5가지의 대표적인 레이아웃
레이아웃 이름 | 설명 |
ConstraintLayout (제약 레이아웃) | 제약 조건 기반 모델 제약 조건을 사용해 화면을 구성하는 방법 안드로이드 스튜디오에서 자동으로 설정하는 디포르 레이아웃 |
LinearLayout(리니어 레이아웃) | 박스 모델 한 쪽 방향으로 차례대로 뷰를 추가하여 화면을 구성하는 방법 뷰가 차지할 수 있는 사각형 영역을 할당 |
RelativeLayout(상대 레이아웃) | 규칙 기반 모델 부모 컨테이너나 다른 뷰와의 상대적 위치로 화면을 구성하는 방법 제약 레이아웃을 사용하게 되면서 상대 레이아웃은 권장하지 않음 |
FrameLayout(프레임 레이아웃) | 싱글 모델 가장 상위에 있는 하나의 뷰 또는 뷰그룹만 보여주는 방법 여러 개의 뷰가 들어가면 중첩하여 쌓게 됨. 가장 단순하지만 여러 개의 뷰를 중첩한 후 각 뷰를 전환하여 보여주는 방식으로 자주 사용함. |
TableLayout(테이블 레이아웃) | 격자 모델 격자 모양의 배열을 사용하여 화면을 구성하는 방법 HTML에서 많이 사용하는 정렬 방식과 유사하지만 많이 사용하지는 않음 |
뷰의 영역
margin: 테두리의 바깥 공간
layout_margin
layout_marginTop
layout_marginBottom
layout_marginLeft
layout_marginRight
padding: 테두리의 안쪽 공간
paddingTop
paddingBottom
paddigLeft
paddingRight
background라는 속성을 가지고 배경색 지정합니다.
background를 설정해 주지 않으면 기본값으로 배경을 그리게 됩니다.
뷰가 버튼이나 텍스트이냐에 따라서 기본값이 바뀝니다.
XML 레이아웃 배경색 지정 방법: ARGB 값으로 설정합니다.
A - Alpha
R - Red
G - Green
B = Blue
빛의 삼원색에 투명도까지 지정할 수 있습니다.
#16진수
액티비티 - 하나의 화면
앱을 실행시켰을 떼 처음 보이는 화면 - 메인 액티비티
프로젝트를 처음 만들면 자동으로 메인 액티비티가 만들어지고 그 액티비티를 위한 자바 소스 파일의
이름이 MainActivity.java가 됩니다.
우리가 만든 액티비티인 LayoutCodeActivity.java를 메인 액티비티로 등록합니다.
메인 액티비티를 관리하는 파일에 우리의 액티비티를 메인 액티비티로 등록합니다.
(AndriodManifest.xml)
자바 코드로 화면을 구성 - 가끔
특정 시간이 됐을 때 / 이벤트 시간 등
[이벤트 참여] 버튼을 그때만 잠깐 보여줘야 할 때 자바 코드로 화면을 구성하는 게 좋습니다.
자바 소스 코드에서 new 연산자를 사용해서 뷰 객체(모든 UI)를 만들 때는 항상 Context 객체가 전달되어야 합니다.
Context 객체란? Context는 어떤 일이 발생한 상황을 의미
한 객체의 정보를 담고 있는 객체를 의미
LinearLayout.LayoutParams -> 뷰의 레이아웃과 관련된 속성을 담을 수 있습니다.
이 객체를 새로 만들 경우에는 반드시 뷰의 가로, 세로 속성을 지정해야 합니다.
- MATCH_PARENT
- WRAP_CONTENT
- 크기를 직접 지정
'웹앱개발 > Android Studio' 카테고리의 다른 글
*2021-05-21 (0) | 2021.06.02 |
---|---|
*2021-05-20 (0) | 2021.06.01 |
*2021-05-18 (0) | 2021.06.01 |
*2021-05-17 (0) | 2021.06.01 |