안드로이드에서 코드와 디자인을 연결하는 방법
기능 코드는 java파일에 구현, 각종 디자인 관련 파일은 res 폴더 안에 저장
res 폴더 안의 파일들은 자동으로 아이디가 부여 -> 자바 코드에서 아이디를 이용하여 사용 가능
R.카테고리.아이디
카테고리 : 주로 res 안의 폴더 이름을 사용하며 string, color 등의 카테고리도 있다.
아이디 : 주로 확장자를 제외한 파일이름. 일부 xml 파일 안의 name 속성을 아이디로 사용하기도 한다.
자동으로 아이디를 인식하므로 파일 이름은 영어 소문자와 _ 와 숫자만으로 작성한다
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
내부에 위젯들을 포함하여 다른 레이아웃 포함 가능
레이아웃 파일은 트리구조로 기술하며 최상위 항목은 반드시 레이아웃을 사용
레이아웃의 위젯의 기본 속성
android:layout_width : 너비 사이즈 지정 (필수 속성)
android:layout_height : 높이 사이즈 지정 (필수 속성)
- match_parent: 부모의 사이즈에 맞춰 달라는 것으로 margin, padding을 적용한 나머지 공간을 가득 채움
- warp_content: 위젯의 내용물 사이즈에 맞게 지정
- 직접 수치 입력: 사이즈를 직접 지정하는 것으로 dp 단위를 사용
android:layout_margin : 부모 레이아웃이나 다른 위젯과의 간격
android:padding : 자기 자식 요소들과 경계와의 간격
android:gravity : 자식 요소 정렬 방법, 상하좌우에 대한 설정 -> | 연산자 사용
android:id : 레이아웃에서 다른 위젯을 배치하는 기준점으로 사용 시,
자바 코드에서 이 위젯이나 레이아웃을 제어할 때 부여
@+id/만들고 싶은 아이디
ex) @+id/userlist
자주 쓰는 레이아웃
Linear layout : 가로 또는 세로 한 방향으로만 위젯이나 자식 레이아웃을 추가할 수 있는 레이아웃
사용이 간편해 팝업 등에 사용하기에 좋다.
android:orientation : horizontal 또는 vertical 중 하나 사용
Relative layout : 다른 위젯이나 레이아웃을 참조하여 위치를 정하는 레이아웃
기존 프로젝트를 업데이트 하는 경우라면 만날 수 있다.
Constraint layout : 각 위젯의 제어점을 이용하여 위치를 정하는 레이아웃
최신 버전의 안드로이드 스튜디오를 사용해 프로젝트를 만들 경우 기본 레이아웃이다.
- 각 레이아웃이나 위젯은 상,하,좌,우(Top, Bottom, Start, End) 의 제약점을 가짐
- 이 제약점을 부모 레이아웃이나 다른 위젯 등에 두 방향(horizontal, vertical)을 연결해 자신의 위치 지정
- 아이디로 상대를 지정하며 부모는 parent로 지정
- ex) app:layout_constraintTop_toBottomOf="@+id/A"
'모바일 > 안드로이드' 카테고리의 다른 글
[Android Studio] 이벤트(클릭, 드래그 등) 처리 (0) | 2021.04.04 |
---|---|
[Android Studio] Widget (0) | 2021.04.03 |
[안드로이드 스튜디오] 스낵바(Snack bar), 대화상자(dialog) -hoyhi-tistory (0) | 2021.03.10 |
[안드로이드 스튜디오] drawable-hoyhi-tistory (0) | 2021.03.09 |
[안드로이드 스튜디오]@string resource-hoyhi-tistory (0) | 2021.03.09 |