将 RelativeSizeSpan 与 TextView 的 textAllCaps 一起使用 true 不起作用

Use RelativeSizeSpan with TextView's textAllCaps at true is not working

都在标题里。

这是错误还是期望的行为? 在最后一种情况下,我不明白为什么?

可能是错误或互斥。

textAllCaps 设置时 TextView 应用 TransformationMethod 获取文本并将其转换为纯文本 Strings 使源文本 CharSequence 松散所有其他样式和跨度。

您可以像(Kotlin 天真)一样以编程方式欺骗它:

 val text = textView.text // at this point allCaps is applied so text is caps
 textView.setAllCaps(false) // remove the allCaps
 val spannable = SpannableString(text) // create new spannable with allCapped text 
 spannable.setSpan(RelativeSizeSpan(1f), 0, text.length, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE)
 textView.text = spannable //set it.

另一种方法是创建您自己的 TransformationMethod,它将为设置的每个文本应用您的 Span。