Подтвердить что ты не робот

Удаление зачеркивания текста из TextView

Я использую эту строку ниже, чтобы установить зачеркивание в моем TextView:

tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);

Однако позже в Fragment, если они снова нажмут TextView, я бы хотел, чтобы strikethrough был удален. Какую строку кода я могу использовать, чтобы просто заставить TextView снова отобразить текст в нормальном формате?

Спасибо заранее!

4b9b3361

Ответ 1

В итоге я нашел это онлайн:

tv.setPaintFlags(tv.getPaintFlags() & (~ Paint.STRIKE_THRU_TEXT_FLAG));

Это успешно удаляет зачеркивание, и поэтому я вызвал это в моем методе OnListItemClick после выполнения проверки в базе данных, которую я сделал, чтобы проверить, был ли элемент уже пробит (приобретен в моем случае).

Ответ 2

Другой способ - просто установить значение setPaintFlags в ноль.

tv.setPaintFlags(0) 

ПРИМЕЧАНИЕ: это удалит удар через ваш текст.

Ответ 3

Вы можете установить OnClickListener на TextView, reset флаги краски и вызвать его invalidate(), чтобы он перерисовывал себя.

Ответ 4

Просто используйте Html.fromHtml(String.format(Locale.US, "<del> ₹% s </del>", "ваш текст здесь")); // удаляем пробел в теге <del>

Ответ 5

Настройка AntiAlias помогла мне сделать текст менее искаженным

Котлин

tv.paintFlags = Paint.ANTI_ALIAS_FLAG