记SpannableString设多少span时注意事项


public void setSpan(Object what, int start, int end, int flags) {    }

 这个方法里的第一个参数,也就是一些span的对象,不能重复使用。如下

ForegroundColorSpan fcs = new ForegroundColorSpan(color);
ss.setSpan(fcs, 0, 3, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
ss.setSpan(fcs, 4, 6, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);

 效果只会运用到4~6这段,而不会是运用到两处。改成下面这样就可以了

ss.setSpan(new ForegroundColorSpan(color), 0, 3, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
ss.setSpan(new ForegroundColorSpan(color), 4, 6, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);

 注:每次传入的第一个参数,都需要是一个新的对象。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM