private SpannableString getDesUnitSpannable(String desStr, String unitStr, AbsoluteSizeSpan sizeSpan, ForegroundColorSpan colorSpan, StyleSpan styleSpan) { SpannableString spannableString = new SpannableString(desStr + unitStr); spannableString.setSpan(sizeSpan, desStr.length(), desStr.length() + unitStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); spannableString.setSpan(colorSpan, desStr.length(), desStr.length() + unitStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); spannableString.setSpan(styleSpan, 0, desStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); return spannableString; },修改代码,colorSpan,用于所有范围文本
时间: 2024-04-10 11:34:26 浏览: 131
要将 `colorSpan` 应用于所有范围的文本,你可以将 `colorSpan` 的范围从 `desStr.length()` 到 `desStr.length() + unitStr.length()` 修改为 `0` 到 `spannableString.length()`。这样就会将 `colorSpan` 应用于整个 `spannableString`。
以下是修改后的代码示例:
```java
private SpannableString getDesUnitSpannable(String desStr, String unitStr, AbsoluteSizeSpan sizeSpan,
ForegroundColorSpan colorSpan, StyleSpan styleSpan) {
SpannableString spannableString = new SpannableString(desStr + unitStr);
spannableString.setSpan(sizeSpan, desStr.length(), desStr.length() + unitStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(colorSpan, 0, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(styleSpan, 0, desStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
return spannableString;
}
```
现在,`colorSpan` 将应用于整个 `spannableString`,而不仅仅是特定的范围。请确保在调用此方法时传递正确的参数以创建所需的效果。
希望这个修改对你有帮助!如果还有其他问题,请随时提问。
阅读全文