Frage

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!

War es hilfreich?

Lösung

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).

Andere Tipps

Another way is to simply set value of setPaintFlags to Zero.

tv.setPaintFlags(0) 

NOTE:

This will remove strike through your text and other Typeface design, You are free to use in case it doesn't applied to your view.

You can set an OnClickListener on the TextView, reset the paint flags, and call its invalidate() so it redraws itself.

Setting up AntiAlias helped me to make text look less distored

Kotlin

tv.paintFlags = Paint.ANTI_ALIAS_FLAG
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top