Możesz to zrobić na trzy sposoby, ustawiając pierwszy plan w TextView
lub ustawiając PaintFlag
lub deklarując ciąg jako <strike>your_string</strike>
w strings.xml
. Na przykład,
Poprzez PaintFlag
To jest najprostsza metoda, którą wystarczy ustawić flagę przekreślenia w TextView jako,
yourTextView.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
przejdzie przez Twój TextView.
Do rysowania na pierwszym planie (działa tylko dla API 23+)
Jeśli Twoja minSdkVersion to API w wersji 23 +, możesz przekreślić TextView, ustawiając pierwszy plan jako,
<?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>
Teraz musisz po prostu ustawić powyżej możliwość rysowania w swoim TextView jako foreground
. Na przykład,
<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 --!>
Poprzez strings.xml
W tej metodzie musisz zadeklarować swój ciąg strings.xml
jako przekreślony jako,
<string name="strike_line"> <strike>This line is strike throughed</strike></string>
Uwaga
Ale polecam przekreślić TextView, ustawiając możliwość rysowania pierwszego planu. Ponieważ poprzez rysowanie możesz łatwo ustawić kolor przekreślonej linii (tak jak ustawiłem jako kolor czerwony w powyższym przykładzie), rozmiar lub inną właściwość stylu. Podczas gdy w pozostałych dwóch metodach domyślnym kolorem tekstu jest kolor przekreślony.