如何强制按钮粘贴到父对象的顶部和底部

时间:2019-07-07 08:17:47

标签: android kotlin android-constraintlayout

我正在使用约束布局,如下代码所示。如下图所示,我想在顶部和底部添加2条按钮。如图所示,上方和 下部的按钮条没有分别牢固地粘附在顶部和底部,但是按钮与顶部和底部之间有一定的间距

如何强制顶部按钮和底部按钮分别粘在父级的顶部和底部?

customClass

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

  <Button
        android:id="@+id/topBtn_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="topBtn1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintRight_toLeftOf="@id/topBtn_2"
        app:layout_constraintBottom_toTopOf="@id/BottomBtn_1"
 />

 <Button
        android:id="@+id/topBtn_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="topBtn2"
        app:layout_constraintLeft_toRightOf="@id/topBtn_1"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintRight_toLeftOf="@id/topBtn_3"
        app:layout_constraintBottom_toTopOf="@id/BottomBtn_2"/>
<Button
        android:id="@+id/topBtn_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="topBtn3"
        app:layout_constraintLeft_toRightOf="@id/topBtn_2"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintBottom_toTopOf="@id/BottomBtn_3"/>

  <Button
        android:id="@+id/BottomBtn_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="BottomBtn1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintRight_toLeftOf="@id/BottomBtn_2"
        app:layout_constraintBottom_toBottomOf="parent"/>

<Button
        android:id="@+id/BottomBtn_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="BottomBtn2"
        app:layout_constraintLeft_toRightOf="@id/BottomBtn_1"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintRight_toLeftOf="@id/BottomBtn_3"
        app:layout_constraintBottom_toBottomOf="parent"/>
       <Button
        android:id="@+id/BottomBtn_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="BottomBtn3"
        app:layout_constraintLeft_toRightOf="@id/BottomBtn_2"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"/>

        </android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:1)

如果需要将三个按钮保持在顶部,将三个按钮保持在底部,如下所示,则需要删除下面代码中给出的顶部和底部按钮之间的链接。希望这能解决您的问题。

enter image description here

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

    <Button
        android:id="@+id/topBtn_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="topBtn1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintRight_toLeftOf="@id/topBtn_2"/>

    <Button
        android:id="@+id/topBtn_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="topBtn2"
        app:layout_constraintLeft_toRightOf="@id/topBtn_1"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintRight_toLeftOf="@id/topBtn_3"/>

    <Button
        android:id="@+id/topBtn_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="topBtn3"
        app:layout_constraintLeft_toRightOf="@id/topBtn_2"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintRight_toRightOf="parent"/>

    <Button
        android:id="@+id/BottomBtn_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="BottomBtn1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@id/BottomBtn_2"
        app:layout_constraintBottom_toBottomOf="parent"/>

    <Button
        android:id="@+id/BottomBtn_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="BottomBtn2"
        app:layout_constraintLeft_toRightOf="@id/BottomBtn_1"
        app:layout_constraintRight_toLeftOf="@id/BottomBtn_3"
        app:layout_constraintBottom_toBottomOf="parent"/>

    <Button
        android:id="@+id/BottomBtn_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="BottomBtn3"
        app:layout_constraintLeft_toRightOf="@id/BottomBtn_2"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"/>

</android.support.constraint.ConstraintLayout>