22

我已经开始制作一个类似于“待办任务管理器”概念的应用程序,其中我需要使文本视图可取消,例如,当用户单击完成的图像时,视图中的整个文本将被取消。

谁能指导我,如何实现这个机制?

4

3 回答 3

61

这可以帮助你。

    TextView tv = (TextView) findViewById(R.id.mytext);
    tv.setText("This is strike-thru");
    tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);

您可以在代码中使用它,但有必要。

于 2013-04-12T11:42:40.057 回答
2

在科特林

tv.text = "This is text"
tv.paintFlags = tv.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
于 2019-07-05T11:41:54.490 回答
0

如果您只想删除 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()
于 2021-12-21T02:20:04.873 回答