Vous pouvez le faire de trois manières, en définissant le premier plan dans TextView
ou en définissant PaintFlag
ou en déclarant une chaîne comme <strike>your_string</strike>
dans strings.xml
. Par exemple,
Par PaintFlag
C'est la méthode la plus simple dont vous disposez pour définir l'indicateur barré sur votre TextView comme,
yourTextView.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
il frappera à travers votre TextView.
Au premier plan dessinable (fonctionne uniquement pour l'API 23+)
Si votre minSdkVersion est la version 23 + de l'API, vous pouvez parcourir votre TextView en définissant un premier plan comme,
<?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>
Maintenant, il vous suffit de définir ci-dessus drawable dans votre TextView en tant que foreground
. Par exemple,
<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 --!>
Via strings.xml
Dans cette méthode, vous devez déclarer votre chaîne strings.xml
comme barrée comme,
<string name="strike_line"> <strike>This line is strike throughed</strike></string>
Remarque
Mais je vous recommande de parcourir votre TextView en définissant un dessin au premier plan. Parce que grâce à drawable, vous pouvez facilement définir la couleur de votre ligne barrée (comme je l'ai définie comme couleur rouge dans l'exemple ci-dessus) ou la taille ou toute autre propriété de style. Alors que dans les deux autres méthodes, la couleur du texte par défaut est la couleur barrée.