You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Material Button Toggle Group按钮多行显示问题咨询

Material Button Toggle Group 实现按钮多行文本显示

方案1:自定义按钮样式开启多行支持

在res/values/styles.xml中创建支持多行的Material Button样式:

<style name="MultilineToggleButton" parent="Widget.MaterialComponents.Button.OutlinedButton">
    <item name="android:singleLine">false</item>
    <item name="android:maxLines">2</item> <!-- 根据需求设置最大行数 -->
    <item name="android:breakStrategy">simple</item>
    <item name="android:gravity">center</item> <!-- 可选,让文本居中对齐 -->
</style>

在布局文件的MaterialButton中应用该样式,同时保持字符串资源的换行写法:

<!-- 字符串资源 res/values/strings.xml -->
<string name="sedentary">Sedentary\n(no exercises)</string>

<!-- 布局中的MaterialButton -->
<com.google.android.material.button.MaterialButton
    android:id="@+id/btn_sedentary"
    style="@style/MultilineToggleButton"
    android:text="@string/sedentary"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

方案2:直接在控件中设置多行属性

如果不想单独定义样式,可直接在MaterialButton标签内添加多行相关属性:

<com.google.android.material.button.MaterialButton
    android:id="@+id/btn_sedentary"
    android:text="@string/sedentary"
    android:singleLine="false"
    android:maxLines="2"
    android:breakStrategy="simple"
    android:gravity="center"
    style="@style/Widget.MaterialComponents.Button.OutlinedButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

额外优化:调整行间距(可选)

如果换行后行间距过密,可添加行间距属性优化显示效果:

<item name="android:lineSpacingExtra">4dp</item> <!-- 在样式中添加 -->
<!-- 或直接在控件中添加 -->
android:lineSpacingExtra="4dp"

注意:确保按钮的宽度设置合理(如wrap_content或固定宽度),避免文本因空间不足被强制单行显示。

内容的提问来源于stack exchange,提问作者Celeste

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 08:35:21