Puoi farlo in tre modi, impostando in primo piano TextView
o impostando PaintFlag
o dichiarando una stringa come <strike>your_string</strike>
instrings.xml
. Per esempio,
Attraverso PaintFlag
Questo è il metodo più semplice per impostare il flag barrato su TextView come,
yourTextView.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
colpirà attraverso il tuo TextView.
Attraverso il disegno in primo piano (funziona solo per API 23+)
Se minSdkVersion è l'API versione 23+, puoi accedere a TextView impostando un primo piano come,
<?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>
Ora, devi solo impostare il drawable sopra in TextView come foreground
. Per esempio,
<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 --!>
Attraverso strings.xml
In questo metodo, devi dichiarare la stringa strings.xml
come barrata come,
<string name="strike_line"> <strike>This line is strike throughed</strike></string>
Nota
Ma ti consiglio di colpire TextView impostando in primo piano un disegno. Perché attraverso il disegno puoi impostare facilmente il colore della linea barrata (come ho impostato come colore rosso nell'esempio sopra) o la dimensione o qualsiasi altra proprietà di stile. Mentre negli altri due metodi il colore predefinito del testo è barrato.