将 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。
都在标题里。
这是错误还是期望的行为? 在最后一种情况下,我不明白为什么?
可能是错误或互斥。
当 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。