Android 按钮文本格式不';不要使用较旧的API';s
我正在尝试设置一个按钮,其文本如下所示: 34.99美元24.99美元Android 按钮文本格式不';不要使用较旧的API';s,android,button,formatting,textview,Android,Button,Formatting,Textview,我正在尝试设置一个按钮,其文本如下所示: 34.99美元24.99美元 但是,在一些较旧的设备上,格式根本不显示。我试过Html.fromHtml,也试过自己构建SpannableString,但都不管用 无论出于何种原因,将按钮更改为文本视图似乎可以奏效 编辑:使用按钮效果很好,但是对于26之前的API,您需要将textAllCaps设置为false。感谢@Mike M.的解释 下面的代码现在可以工作了: SpannableString spannableString = new Spanna
但是,在一些较旧的设备上,格式根本不显示。我试过
Html.fromHtml
,也试过自己构建SpannableString
,但都不管用 无论出于何种原因,将按钮更改为文本视图似乎可以奏效
编辑:使用按钮
效果很好,但是对于26之前的API,您需要将textAllCaps
设置为false
。感谢@Mike M.的解释强>
下面的代码现在可以工作了:
SpannableString spannableString = new SpannableString(oldBuyPrice + newBuyPrice);
spannableString.setSpan(new StyleSpan(Typeface.ITALIC), 0, oldBuyPrice.length(), 0);
spannableString.setSpan(new StrikethroughSpan(), 0, oldBuyPrice.length(), 0);
buyButtonTextView.setText(spannableString);
按钮的默认样式将textAllCaps
设置为true
。在Oreo之前,涉及的转换将文本视为普通的字符串
,因此最终会丢失已应用的任何跨度格式。如果要将按钮的样式设置为textAllCaps
为false
,它应该可以解决您的问题,而无需切换到TextView
。您说得对!我只是试着把它们改回按钮,结果成功了。谢谢你的解释!