Anda dapat melakukan ini dalam tiga cara, dengan menetapkan latar depan TextView
atau pengaturan PaintFlag
atau mendeklarasikan string seperti <strike>your_string</strike>
pada strings.xml
. Sebagai contoh,
Melalui PaintFlag
Ini adalah metode paling sederhana Anda hanya perlu mengatur bendera dicoret pada TextView Anda sebagai,
yourTextView.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
itu akan menembus TextView Anda.
Melalui draw foreground (Hanya berfungsi untuk API 23+)
Jika minSdkVersion Anda adalah API versi 23 +, maka Anda dapat menelusuri TextView Anda dengan menetapkan latar depan sebagai,
<?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>
Sekarang, Anda hanya perlu mengatur drawable di atas di TextView sebagai foreground
. Sebagai contoh,
<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 --!>
Melalui strings.xml
Dalam metode ini, Anda harus mendeklarasikan string Anda strings.xml
sebagai pemogokan,
<string name="strike_line"> <strike>This line is strike throughed</strike></string>
Catatan
Tapi saya sarankan Anda untuk menelusuri TextView Anda dengan mengatur foreground drawable. Karena melalui drawable Anda dapat dengan mudah mengatur warna garis strike-through (seperti yang saya tetapkan sebagai warna merah pada contoh di atas) atau ukuran atau properti gaya lainnya. Sedangkan dalam dua metode lainnya, warna teks standar adalah warna coret.