Це можна зробити трьома способами, встановивши передній план 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>
Тепер у простому текстовому вікні вам просто потрібно встановити як 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, встановивши параметр "Dravable". Оскільки за допомогою малювання ви можете легко встановити свій колір лінії (як я встановив червоний колір у наведеному вище прикладі) або розмір або будь-яку іншу властивість стилю. Якщо в інших двох методах колір тексту за замовчуванням є кольором, що перебуває підкреслено.