配置ビューのレイアウト-3


リンク1 FrameLayout(Github link)
リンク2 GridLayout(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 Codeでやる方法...
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と同様にビューを方向別に表示
○LinearLayoutとは異なり、自動改行
○方位:方向設定
○rowCount:縦にリストされたビュー数
○columnCount:横に表示されるビュー数
-LinearLayoutとよく似ていますが、rowCountまたはcolumnCountプロパティで設定した数にビューを追加すると、自動的に改行されて出力されます.
例1)
例2)
例3)
GridLayout配置規則
特定のビューの位置を調整する
-GridLayoutでlayout row、layout columnプロパティを使用して、特定のビューの位置を調整します.
特定のビューのサイズ変更
シナリオの例)
- 만약 E버튼의 크기를 늘려야한다면….
/*
*/
-余白が十分大きい場合は、余白にビューを配置して2つのビューを表示することもできます.
列または行のマージ
-最後に、あるビューをテーブル内の複数の同じビューに設定できます.
○layout ColumnSpan:横並び
○layout rowspan:垂直連結行