[Android 03]代表的なビューグループLinearLayout


TIL📝

  • LinearLayout
  • 💡ビューグループ自体のプロパティとビューグループは、サブビューが持つ
    一緒にLayoutParamsの情報を学ぶことが大切です!

    📌LinearLayout

    자식 뷰를 배치할 때 수평 또는 수직으로 배치 가장 많이 쓰이는 레이아웃
  • MarginLayoutParams継承LayoutParams
  • LinearLayoutのLayoutParams:ビューグループはサブビューを配置するためにサブビューの属性を要求し、ビューグループを継承するMarginLayoutParams
  • 📍デフォルトのプロパティ


    ビューグループ自体のプロパティ

    🙋‍♀️orientation


    サブビューを水平または垂直に配置するにはandroid:orientation="horizontal" android:orientation="vertical"

    🙋‍♀️gravity


    サブビュー全体の重力の方向と位置合わせを指定するプロパティです.android:gravity="right|bottom" top : 상단 bottom : 하단 left: 좌측 right : 우측 center_vertical : 수직 중앙 center_horizontal : 수평 중앙 center : 정 중앙

    🙋‍♀️baselineAligned


    テキストを含むビューを配置するときに、テキストの下部に対して位置合わせするプロパティ.android:baslineAligned="false" android:baslineAligned="true"
    💡必要な理由
  • サイズの異なるテキストビューを水平に配置する場合は、
  • のため、テキストの下部に位置合わせすることが望ましい.

    🙋‍♀️ baselineAlignedChildIndex


    インデックス付きサブビューのテキストの下部に基づいてベースラインを設定

    💡この場合、どこでベースラインを設定すればいいのでしょうか?baselineAligndeChildIndex = "자식인덱스 번호"

    🙋‍♀️measureWithLargestChild


    アトリビュート値をtrueに設定すると、レイアウト内の重みのあるすべてのサブビューが最大サブビューのサイズに設定されます.
  • layout weightプロパティとともに使用android:measureWithLargestChild="false" android:measureWithLargestChild="true"
  • 🙋‍♀️weightSum


    値を設定すると、レイアウト内のサブビューの重みの割合をサブビューのサイズに設定します.
  • layout weightプロパティ
  • スケールでサブビューのサイズを設定するには
    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://
      schemas.android.com/apk/res/android"
        android:layout_width = "match_parent"
        android:layout_height="300dp"
        android:orientation="vertical"
        android:background="#B2CCFF"
        android:weightSum="100">
    
        <Button android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_weight="10"
            android:text="View1" />
    
        <Button android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:layout_weight="30"
            android:text="View2" />
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="80dp"
            android:layout_weight="50"
            android:text="View3" />
    
    
    </LinearLayout>
  • weightSum値では、各サブビューに割り当てるlayout weight値に等しい比率
  • に各ビューのサイズを設定する.
  • ビューのサイズを設定し、残りは
  • です.

    📌LinearLayoutLayoutParamsプロパティ


    変数の前に接頭辞「layout」を付けると、Layoutは
    サブビューに必要なプロパティ

    📍デフォルトのプロパティ


    サブビューに必要なLayoutParamについて

    🙋‍♀️layout_gravity


    自身のビューの重力のみを変更する레이아웃의 gravity : right 자식뷰의 layout_gravity : bottom 자식뷰의 layout_gravity : center_vertical 자식뷰의 layout_gravity : top 일 때

    🙋‍♀️layout_weight


    幅または高さをスケールで調整
  • 水平配置:サブビューの幅を調整
  • 垂直配置:サブビューの高さを調整する
  • android:layout_weight="비율"
    💡柔軟だから覚えておいてください
  • アプリケーション
  • <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width = "match_parent"
        android:layout_height="300dp"
        android:orientation="horizontal"
        android:background="#B2CCFF">
    
        <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="View1" />
    
        <Button android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="View2" />
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="View3" />
    </LinearLayout>
  • View1View3サイズ固定
  • View2可変サイズandroid:lyaout_weight=1

  • 残りの部分を固定して重みを1つだけ設定すると、端末が水平に回転すると、この点が変わります.これは非常に役立ちます.

  • 特定のサブビューのサイズを可変に調整できるので、異なる画面サイズの端末でレイアウトを柔軟に維持できる

  • 非常に頻繁に使用されているので、覚えておいてください!!