AndroidUtilCode
AndroidUtilCode copied to clipboard
SpanUtils 设置点击事件后,设置点击事件文字的颜色失效
描述 Bug
简洁地描述下 Bug。
- AndroidUtilCode 的版本:1.31.0
相关代码
SpanUtils.with(mDatabind.tvAgree)
.append("我已阅读并同意").setForegroundColor(Color.parseColor("#FFD5D5D5"))
.append("天天短视频用户协议").setForegroundColor(Color.parseColor("#000000"))
.setClickSpan(object : ClickableSpan() {
override fun onClick(p0: View) {
ToastUtils.showShort("天天短视频用户协议")
}
})
.append("和").setForegroundColor(Color.parseColor("#FFD5D5D5"))
.append("隐私条款").setForegroundColor(Color.parseColor("#000000")).setQuoteColor(Color.parseColor("#000000"))
.setClickSpan(object : ClickableSpan() {
override fun onClick(p0: View) {
ToastUtils.showShort("隐私条款")
}
})
.create()
@Blankj SpanUtils 的 create() 是 mTextView.setText()。能不能新增一个 createHint的方法,给textView设置setHint()
这个是添加了点击事件后,系统会自动在文字上加下划线和改变文字颜色,可以重写下 ClickableSpan 的 updateDrawState 方法修改画笔的色值来解决:
SpanUtils.with(binding.tvPrivacyPolicy)
.setClickSpan(object : ClickableSpan() {
override fun updateDrawState(paint: TextPaint) {
paint.color = Color.parseColor("#b6b6b6")
//paint.isUnderlineText = false //去除下划线
}
override fun onClick(p0: View) {
//....
}
})
@Blankj SpanUtils 的 create() 是 mTextView.setText()。能不能新增一个 createHint的方法,给textView设置setHint()
你可以使用下面代码生成一个SpannableStringBuilder对象
new SpanUtils()
...
.create();
@Blankj SpanUtils 的 create() 是 mTextView.setText()。能不能新增一个 createHint的方法,给textView设置setHint()
你可以使用下面代码生成一个SpannableStringBuilder对象
new SpanUtils() ... .create();
??