본문 바로가기

카테고리 없음

layout-2

LinearLayout

LinearLayout (horizontal)을 사용하면 버튼들이 가로로 정렬되는 것을 볼 수 있고

 

LinearLayout (vertical)을 사용하면 버튼들이 세로로 정렬되는 것을 볼 수 있다.

 

 

 

 

 

 

 

아래의 코드처럼 LinearLayout안에 LinerarLayout을 넣어서 사용할 수 있다.

 <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent">

        <Button
            android:id="@+id/button8"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="button3" />

        <Button
            android:id="@+id/button7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button2" />

        <Button
            android:id="@+id/button5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Button1" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="133dp"
            android:orientation="horizontal">

            <Button
                android:id="@+id/button9"
                android:layout_width="163dp"
                android:layout_height="wrap_content"
                android:text="Button1" />

            <Button
                android:id="@+id/button10"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button2" />

            <Button
                android:id="@+id/button11"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="button3" />

        </LinearLayout>

    </LinearLayout>

FrameLayout

 

FrameLayout은 가장 상위의 뷰만 보여주는 방식이다.

다른 뷰 들은 중첩하여 쌓은 후 각 뷰를 전환하여 보여준다.

 

 

 

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:srcCompat="@tools:sample/avatars" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:srcCompat="@tools:sample/avatars" />

        <ImageButton
            android:id="@+id/imageButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:srcCompat="@tools:sample/avatars" />
    </FrameLayout>

 

TableLayout

-배열을 사용하여 화면 구성

 

TableLayout에 Table Row를 추가하고 Row에 button을 추가하여 사용하였다.

stretchcolumns을 추가하여 공간을 채울수 있음

<TableLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:stretchColumns="0,1,2"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <Button
                android:id="@+id/button16"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />

            <Button
                android:id="@+id/button15"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />

            <Button
                android:id="@+id/button14"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <Button
                android:id="@+id/button19"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />

            <Button
                android:id="@+id/button18"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />

            <Button
                android:id="@+id/button17"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />
        </TableRow>

MotionLayout

 

-앱에서 모션과 위젯 애니메이션을 관리하는데 사용하는 레이아웃

-ConstraintLayout의 서브클래스이다.

MotionLayout은 레이아웃 전환과 모션 처리 사이를 연결한다.