2

我在一个MaterialButtonToggleGroup. 问题是所有的标签都被切断而不是包裹起来

布局截图

 <com.google.android.material.button.MaterialButtonToggleGroup
        android:id="@+id/toggle_pomo_time"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/margin_medium"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/pomo_card"
        app:singleSelection="true">

        <Button
            android:id="@+id/bt_pomo"
            style="@style/Widget.MaterialComponents.Button.OutlinedButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/class_time" />

        <Button
            android:id="@+id/bt_short_break"
            style="@style/Widget.MaterialComponents.Button.OutlinedButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/short_break" />

        <Button
            android:id="@+id/bt_long_break"
            style="@style/Widget.MaterialComponents.Button.OutlinedButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/long_break" />

    </com.google.android.material.button.MaterialButtonToggleGroup>

我进行了很多搜索,但找不到任何合适的解决方案。任何帮助将非常感激。谢谢你。

4

1 回答 1

2

您不能将它们包装在一行中,因为MaterialButtonToggleGroup视图的测量宽度被声明为有限,因此它决定在最后将它们椭圆化。您可以验证是否使用了更宽的屏幕或横向模式,如果文本仍在允许的宽度内,文本将换行。

删除按钮水平填充android:paddingHorizontal="0dp"会腾出一点空间。

但是你可以用两行代码来做到这一点;asandroid:maxLength属性不适用于此处描述的错误:

val bt_pomo= findViewById<Button>(R.id.bt_pomo)
bt_pomo.maxLines = 2

并对其他两个按钮重复此操作

于 2021-12-08T05:32:01.307 回答