约束布局:相对于其他字段定义搜索栏高度

时间:2018-01-18 16:15:05

标签: android-constraintlayout android-seekbar

我在Constraint Layout中添加了几个Textview和Seekbar。我根据屏幕高度定义了textview高度,并希望搜索栏高度从一个textview转到另一个textview。代码是

            <TextView
                android:id="@+id/detailTaskHighTextId"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintHorizontal_bias="0.1"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_bias="0.45"
                android:text="High"/>

            <TextView
                android:id="@+id/detailTaskLowTextId"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintHorizontal_bias="0.1"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_bias="0.75"
                android:text="Low"/>

            <SeekBar
                android:id="@+id/detailTaskPriorityId"
                style="@style/Widget.AppCompat.SeekBar.Discrete"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:max="3"
                android:progress="3"
                android:rotation="270"
                android:visibility="visible"
                app:layout_constraintBottom_toBottomOf="@id/detailTaskLowTextId"
                app:layout_constraintTop_toTopOf="@id/detailTaskHighTextId"
                app:layout_constraintLeft_toRightOf="@id/detailTaskHighTextId"/>

我不想对搜索栏宽度进行硬编码。这里的搜索栏宽度非常小。使用Top_toTopOf和Bottom_toBottomOf只会在两个文本视图的中间带来搜索栏。我也试过了Start_toStart和End_toEnd。我错过了什么?这就是我所看到的Link to image

1 个答案:

答案 0 :(得分:0)

您需要像这样更改搜索栏的高度(使用MATCH_CONSTRAINT):

<SeekBar
    android:id="@+id/detailTaskPriorityId"
    style="@style/Widget.AppCompat.SeekBar.Discrete"
    android:layout_width="wrap_content"
    android:layout_height="0dp" <- MATCH_CONSTRAINT
    android:max="3"
    android:progress="3"
    android:rotation="270"
    android:visibility="visible"
    app:layout_constraintBottom_toBottomOf="@id/detailTaskLowTextId"
    app:layout_constraintTop_toTopOf="@id/detailTaskHighTextId"
    app:layout_constraintLeft_toRightOf="@id/detailTaskHighTextId"/>