뷰를 배치하는 레이아웃-3

Bang!·2022년 2월 4일
0

Android(코틀린)

목록 보기
13/15
post-thumbnail

링크1FrameLayout(Github link)
링크2GridLayout(Github link)


07-03 겹쳐서 배치 - FrameLayout
- FrameLayout은 뷰를 겹쳧서 출력하는 레이아웃 클래스 이다
예시)

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Hello"
    />
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@mipmap/ic_launcher"
    />
- FrameLayout을 이용하면 버튼과 이미지가 겹쳐서 출력
- RelateiveLayout처럼 위치 조절 속성없음
- 대신에 invisibility 속성을 이용해서 표시 여부 결정

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Hello"
    android:visibility="invisible"
    />
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@mipmap/ic_launcher"
    />

Activity 코드에서 하는 방법….
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)

    binding.button.setOnClickListener{
        button.visibility = View.INVISIBLE
        imageView.visibility = View.INVISIBLE
    }
    binding.imageView.setOnClickListener{
        button.visibility = View.VISIBLE
        imageView.visibility = View.INVISIBLE
    }

07-04 표 형태로 배치 - GridLayout
GridLayout 배치 규칙
- GridLayout은 행과 열로 구성된 테이블 화면을 만드는 레이아웃 클래스이다
○ LinearLayout과 비슷하게 orientation으로 뷰를 나열한다
○ LinearLayout과 다르게 줄바꿈을 자동으로 해줌
○ orientation: 방향설정
○ rowCount: 세로로 나열한 뷰 개수
○ columnCount: 가로로 나열한 뷰 개수
- LinearLayout과 많이 비슷하지만 rowCount나 columnCount 속성에 설정한 개수만큼 뷰 추가하면 자동으로 줄바꿈하여 출력

예시1)






예시2)






예시3)






GridLayout 배치 규칙
특정 뷰의 위치 조정하기
- GridLayout에서 layout_row, layout_column속성을 이용하면 특정 뷰의 위치를 조정 가능







특정 뷰의 크기 조정하기
예시 시나리오)

- 만약 E버튼의 크기를 늘려야한다면….

/*







*/
- 만약 여백이 충분하면 여백에 뷰를 넣어서 뷰를 2개 표시도 가능








열이나 행 병합하기
- 마지막으로 어떤 뷰가 테이블에서 여러 같을 차지하게 설정 가능
○ layout_ColumnSpan: 가로로 병합
○ layout_rowSpan: 세로로 행 병합

profile
pro한 프로그래머가 되자!

0개의 댓글

관련 채용 정보