问题
I'm using this line below in order to set a strikethrough on my TextView:
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
However later on in the Fragment, if they click the TextView again, I would like the strikethrough to be removed. What line of code can I use to simply make the TextView display the text in the normal format again?
Thanks in advance!
回答1:
I ended up finding this online:
tv.setPaintFlags(tv.getPaintFlags() & (~ Paint.STRIKE_THRU_TEXT_FLAG));
This successfully removes the strikethrough and therefore I called this in my OnListItemClick
method after carrying out a check in the database I made to see if the item had already been striked through (purchased in my case).
回答2:
Another way is to simply set value of setPaintFlags
to Zero.
tv.setPaintFlags(0)
NOTE: This will remove strike through your text.
回答3:
You can set an OnClickListener
on the TextView
, reset the paint flags, and call its invalidate()
so it redraws itself.
回答4:
Setting up AntiAlias helped me to make text look less distored
Kotlin
tv.paintFlags = Paint.ANTI_ALIAS_FLAG
来源:https://stackoverflow.com/questions/18881817/removing-strikethrough-from-textview