Вы можете сделать это тремя способами: либо установив передний план, TextView
либо установив PaintFlag
или объявив строку как <strike>your_string</strike>
внутри strings.xml
. Например,
Через PaintFlag
Это самый простой метод, вам просто нужно установить флаг зачеркивания в TextView как,
yourTextView.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
он пробьет ваш TextView.
Возможность рисования через передний план (работает только для API 23+)
Если ваш minSdkVersion - это API версии 23 +, вы можете пройти через свой TextView, установив передний план как,
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<shape android:shape="line">
<stroke android:width="1dp" android:color="@android:color/holo_red_dark"/>
</shape>
</item>
</selector>
Теперь вам просто нужно установить выше drawable в TextView как foreground
. Например,
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your Textview with StrikeThrough"
android:foreground="@drawable/strikethrough_foreground" /> <!-- this is available above --!>
Через strings.xml
В этом методе вы должны объявить свою строку strings.xml
зачеркнутой как,
<string name="strike_line"> <strike>This line is strike throughed</strike></string>
Заметка
Но я рекомендую вам пройти через свой TextView, установив возможность рисования переднего плана. Потому что с помощью drawable вы можете легко установить цвет зачеркнутой линии (как я установил красный цвет в приведенном выше примере), размер или любое другое свойство стиля. В двух других методах цвет текста по умолчанию - зачеркнутый.