Android 按钮文本不适用

Android 按钮文本不适用,android,android-fragments,Android,Android Fragments,我正在使用SpannableStringBuilder应用于文本输入按钮的不同样式。但它并不适用 SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(valueText); spannableStringBuilder.setSpan( new TextAppearanceSpan(mContext, R.style.ListItemButtonTitleTheme), 0,

我正在使用SpannableStringBuilder应用于文本输入按钮的不同样式。但它并不适用

SpannableStringBuilder spannableStringBuilder
    = new SpannableStringBuilder(valueText);
spannableStringBuilder.setSpan(
    new TextAppearanceSpan(mContext, R.style.ListItemButtonTitleTheme),
    0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
);
spannableStringBuilder.setSpan(
    new TextAppearanceSpan(mContext, R.style.ListItemButtonValueTheme),
    6, valueText.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
);
holder.valueButton.setText(
    spannableStringBuilder.toString(), Button.BufferType.SPANNABLE
);
list_item.xml

<Button
    android:id="@+id/value_button"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintWidth_percent="0.25"
    app:layout_constraintDimensionRatio="1:0.7"
    style="@style/ListItemButtonTheme"
    app:layout_constraintTop_toBottomOf="@id/hr_line_2"
    app:layout_constraintStart_toEndOf="@id/type_button"
    app:layout_constraintEnd_toStartOf="@id/sell_button"
    android:text="Google" />
<style name="ListItemButtonTitleTheme" parent="@android:style/Widget.TextView">
    <item name="android:textColor">@color/list_item_content_text_color</item>
    <item name="android:textSize">25sp</item>
    <item name="font">@font/proxima_nova_semibold</item>
    <item name="android:textAllCaps">false</item>
</style>

<style name="ListItemButtonValueTheme" parent="@android:style/Widget.TextView">
    <item name="android:textColor">@android:color/black</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textSize">20sp</item>
    <item name="font">@font/proxima_nova_semibold</item>
    <item name="android:textAllCaps">false</item>
</style>

styles.xml

<Button
    android:id="@+id/value_button"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintWidth_percent="0.25"
    app:layout_constraintDimensionRatio="1:0.7"
    style="@style/ListItemButtonTheme"
    app:layout_constraintTop_toBottomOf="@id/hr_line_2"
    app:layout_constraintStart_toEndOf="@id/type_button"
    app:layout_constraintEnd_toStartOf="@id/sell_button"
    android:text="Google" />
<style name="ListItemButtonTitleTheme" parent="@android:style/Widget.TextView">
    <item name="android:textColor">@color/list_item_content_text_color</item>
    <item name="android:textSize">25sp</item>
    <item name="font">@font/proxima_nova_semibold</item>
    <item name="android:textAllCaps">false</item>
</style>

<style name="ListItemButtonValueTheme" parent="@android:style/Widget.TextView">
    <item name="android:textColor">@android:color/black</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textSize">20sp</item>
    <item name="font">@font/proxima_nova_semibold</item>
    <item name="android:textAllCaps">false</item>
</style>

@颜色/列表\项目\内容\文本\颜色
25便士
@字体/proxima_nova_半黑体
错误的
@android:彩色/黑色
大胆的
20便士
@字体/proxima_nova_半黑体
错误的

使用AppCompactButton而不是Button

<android.support.v7.widget.AppCompatButton
        android:id="@+id/value_button"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintWidth_percent="0.25"
        app:layout_constraintDimensionRatio="1:0.7"
        style="@style/ListItemButtonTheme"
        app:layout_constraintTop_toBottomOf="@id/hr_line_2"
        app:layout_constraintStart_toEndOf="@id/type_button"
        app:layout_constraintEnd_toStartOf="@id/sell_button"
        android:text="Google"
        />

我已经更新了我的答案,这对我有用。