레이아웃
1) 제약 레이아웃(Constraint) : 디폴트 레이아웃
2) 리니어 레이아웃(Linear) : 한 쪽 방향으로 차례대로 뷰를 추가하며 화면을 구성하는 방법( orientation 속성 값=> Horizontal 가로/ Vertical 세로)
3) 상대 레이아웃(Relative) : 부모 컨테이너나 다른 뷰와의 상대적 위치로 화면을 구성하는 방법
4) 프레임 레이아웃(Frame) : 가장 상위에 있는 하나의 뷰/ 뷰 그룹만 보여주는 방법, 여러개의 뷰가 들어가면 중첩하여 쌓음-> 여러개의 뷰를 중첩한 후 각 뷰를 전환하여 보여주는 방식으로 자주 사용
5) 테이블 레이아웃(Table) : 격자 모양의 배열을 사용하여 화면 구성하는 방법
*뷰의 배경색 : XML 레이아웃에서 색상 지정 시 #+색상값(ARGB)
*뷰 정렬 : layout_gravity => 뷰가 어디에 위치할 것인지 결정 , gravity => 뷰의 내용물의 위치 결정(텍스트 뷰/이미지)
*layout_weight : 여유공간을 분할하여 기존에 추가했던 뷰들에게 할당할 수 있는 속성
ex) 두 개의 뷰에 각각 1,2값 지정 -> 각각 1/3, 2/3만큼 여유공간을 분할 한 후 나눠갖게 됨
layout_width, layout_height로 지정하는 뷰의 크기는 wrap_content나 숫자 값으로 지정되어야 함.
*프레임레이아웃과 뷰의 전환 ( 버튼누르면 이미지 바뀜)
int imageIndex = 0;
~
public void onButton1Clicked(View v){
chageImage();
}
private void changeImage(){
if (imageIndex == 0){
imageView.setVisibility(View.VISIBLE);
imageView2.setVisibility(View.INVISIBLE);
imageIndex = 1;
} else if(imageIndex == 1){
imageView.setVisibility(View.INVISIBLE);
imageView2.setVisibility(View.VISIBLE);
imageIndex = 0;
}
}
*테이블 레이아웃 만들 때, 버튼을 추가한 후 오른쪽에 남는 공간이 없도록 만들고 싶은 경우
-> TableLayout 태그에 stretchColumns속성을 추가한다.
<TableLayout
android:stretchColumns="0,1,2">
=> 0,1,2 칼럼에 가로방향으로 여유공간이 있다면 그 여유공간을 모두 채운 칼럼을 설정
*스크롤뷰
이미지뷰가 화면 영역을 넘어갈 때 스크롤을 만들고 싶다면 XML 레이아웃에서 다음과 같이 스크롤뷰로 감싸면 된다.
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</ScrollView>
'Android Studio' 카테고리의 다른 글
Do it 안드로이드 앱 프로그래밍 - 둘째마당(2장) 레이아웃 익히기 (0) | 2021.08.25 |
---|---|
Do it 안드로이드 앱 프로그래밍 - 둘째마당(1장) (0) | 2021.08.25 |
Do it 안드로이드 앱 프로그래밍 - 첫째마당 (0) | 2021.07.12 |
Do it 안드로이드 앱 프로그래밍 - 3) 이벤트와 리스트뷰 (0) | 2021.03.06 |
Do it 안드로이드 앱 프로그래밍 - 1) 첫 번째 앱 만들기,뷰 (0) | 2021.03.03 |