如何让 SeekBar 占用 TextView 和 ImageButton 之间的可用宽度?

How can I make a SeekBar take up the width available between a TextView and an ImageButton?

我希望 TextView 和 ImageButton 根据它们的大小占用 space,并让 SeekBar 占用剩余的 space。这是我当前的代码:

<androidx.appcompat.widget.LinearLayoutCompat
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="100">

        <androidx.appcompat.widget.AppCompatTextView
            android:id="@+id/seekbar_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:textColor="@color/white" />

        <SeekBar
            android:id="@+id/seek_bar"
            style="@style/Widget.AppCompat.SeekBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginBottom="8dp" />

        <ImageButton
            android:id="@+id/ccBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_captions_off"
            app:tint="@color/white" />


    </androidx.appcompat.widget.LinearLayoutCompat>

使用此代码,SeekBar 没有宽度并且 ccBtn 出现在屏幕中央。我该如何解决这个问题?

您可以使用 weight 属性, 将 SeekBar weight 设置为 1 并将 layout_width 设置为 0dp 应该可以做到。

另外,在旁注中,在命名变量时尽量保持一致,不要 do_this 一个变量 andThis 另一个

根据 Ricardo 的回答,代码将是

<androidx.appcompat.widget.LinearLayoutCompat
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/seekbar_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:textColor="@color/white" />

    <SeekBar
        android:id="@+id/seek_bar"
        style="@style/Widget.AppCompat.SeekBar"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_weight="1"
        android:layout_marginBottom="8dp" />

    <ImageButton
        android:id="@+id/ccBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_captions_off"
        app:tint="@color/white" />


</androidx.appcompat.widget.LinearLayoutCompat>

图片预览:https://i.stack.imgur.com/LGrEo.png

图中我稍微居中了一点,可以通过重心实现,没有底边距