无法将按钮标签包装在 Material 按钮切换组内
Unable to wrap labels of buttons inside Material Button Toggle Group
我在 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>
我搜索了很多,但找不到任何合适的解决方案。任何帮助将非常感激。谢谢。
您不能将它们包在一行中,因为 MaterialButtonToggleGroup
视图的测量宽度被声明为有限的,因此它决定在最后将它们省略。您可以验证是否使用了更宽的屏幕或横向模式,如果文本仍在允许的宽度范围内,文本将换行。
删除按钮的水平填充 android:paddingHorizontal="0dp"
会腾出一点空间。
但是您可以通过编程方式分两行完成;因为 android:maxLength
属性 不适用于描述 :
的错误
val bt_pomo= findViewById<Button>(R.id.bt_pomo)
bt_pomo.maxLines = 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>
我搜索了很多,但找不到任何合适的解决方案。任何帮助将非常感激。谢谢。
您不能将它们包在一行中,因为 MaterialButtonToggleGroup
视图的测量宽度被声明为有限的,因此它决定在最后将它们省略。您可以验证是否使用了更宽的屏幕或横向模式,如果文本仍在允许的宽度范围内,文本将换行。
删除按钮的水平填充 android:paddingHorizontal="0dp"
会腾出一点空间。
但是您可以通过编程方式分两行完成;因为 android:maxLength
属性 不适用于描述
val bt_pomo= findViewById<Button>(R.id.bt_pomo)
bt_pomo.maxLines = 2
并对其他两个按钮重复此操作