一切都在标题中。
这是一个错误还是一个期望的行为? 在最后一种情况下,我不明白为什么?
最佳答案
可能是错误或互斥。
当textAllCaps
设置时,TextView
应用TransformationMethod
来获取文本并将其转换为纯Strings
,这使得源文本 CharSequence
释放了所有其他样式和跨度。
你可以像(Kotlin naive)一样以编程方式欺骗它:
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 应用于设置的每个文本。
关于android - 将RelativeSizeSpan 与TextView 的textAllCaps 一起使用为true 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46296488/