ConstraintLayout 平分佈局

pdog發表於2017-12-14

新增依賴

compile 'com.android.support.constraint:constraint-layout:1.0.2'

建立佈局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/bt_a"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="scroller_scroll"
        android:textSize="12dp"
        app:layout_constraintBottom_toTopOf="@+id/button3"
        app:layout_constraintHorizontal_weight="1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@+id/bt_b"/>

    <Button
        android:id="@+id/bt_b"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="scroller_fling"
        android:textSize="12dp"
        app:layout_constraintBottom_toTopOf="@+id/button3"
        app:layout_constraintHorizontal_weight="1"
        app:layout_constraintLeft_toRightOf="@+id/bt_a"
        app:layout_constraintRight_toLeftOf="@+id/bt_c"/>

    <Button
        android:id="@+id/bt_c"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="over_scroll"
        android:textSize="12dp"
        app:layout_constraintBottom_toTopOf="@+id/button3"
        app:layout_constraintHorizontal_weight="1"
        app:layout_constraintLeft_toRightOf="@+id/bt_b"
        app:layout_constraintRight_toRightOf="@+id/bt_d"/>

    <Button
        android:id="@+id/bt_d"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="overs_fling"
        android:textSize="12dp"
        app:layout_constraintBottom_toTopOf="@+id/button3"
        app:layout_constraintHorizontal_weight="1"
        app:layout_constraintLeft_toRightOf="@+id/bt_c"
        app:layout_constraintRight_toRightOf="parent"/>

    <Button
        android:id="@+id/button3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:text="Button"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        />

</android.support.constraint.ConstraintLayout>
複製程式碼

device-2017-06-01-102510.png

需要了解的地方

  1. 寬度為0dp android:layout_width="0dp"
  2. 需要準確指定左右的約束 app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/bt_b"//使用@id 編譯不通過,使用@+id就可以了
  3. 指定權重 app:layout_constraintHorizontal_weight="1"
  4. 約束也可以為parent app:layout_constraintBottom_toBottomOf="parent"

相關文章