我已经开始制作一个类似于“待办任务管理器”概念的应用程序,其中我需要使文本视图可取消,例如,当用户单击完成的图像时,视图中的整个文本将被取消。
谁能指导我,如何实现这个机制?
这可以帮助你。
TextView tv = (TextView) findViewById(R.id.mytext);
tv.setText("This is strike-thru");
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
您可以在代码中使用它,但有必要。
在科特林
tv.text = "This is text"
tv.paintFlags = tv.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
如果您只想删除 TextView 文本的一部分,您可以使用SpannableStringBuilder。请注意,它tv.text = ssb
不是tv.text = ssb.toString()
val text = "tv.text = ssb.toString()"
val ssb = SpannableStringBuilder(text)
ssb.setSpan(
StrikethroughSpan(),
13, // start of the span (inclusive)
24, // end of the span (exclusive)
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
)
tv.text = ssb
当你运行它时,它会是这样的:
tv.text = ssb.toString()