Enlever de la Peinture Drapeau Android
Mon code ressemble à ceci:
TextView task_text = (TextView) view.findViewById(R.id.task_text);
task_text.setPaintFlags( task_text.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
Cela provoque une grève par effet d'apparaître sur le texte. Cependant, j'aimerais savoir comment faire pour supprimer le drapeau une fois défini, et comment faire pour détecter que le drapeau est réglé.
Je comprends que c'est une opération au niveau du bit, mais j'ai essayé les deux ~ et - opérateurs, ni travail.
Vous devez vous connecter pour publier un commentaire.
Pour supprimer un drapeau, cela devrait fonctionner:
Qui signifie définir l'ensemble des drapeaux, à l'exception de
Paint.STRIKE_THRU_TEXT_FLAG
.Pour vérifier si un indicateur est défini (Edit: pendant un moment j'ai oublié c'est java...):
to remove a
, alors qu'il va supprimer TOUS les drapeaux.Cela fonctionne aussi:
Dans Kotlin
Utilisation exclusif OU opérateur
^
au lieu de|
avec&(~)
combinaison:Vérifier si l'indicateur est actuellement de l'installation:
|--------------------------------------------------|
|<*>| Souligné avec un textView :
|--------------------------------------------------|
|*| Ajouter Souligner :
|*| Suppression De Souligner :
|*| Case À Souligner :
|*| Toggle Souligner :
À mon avis,
juste mis son drapeau par défaut est un meilleur choix. Sinon, le texte sera examiné en dents de scie. L'indicateur par défaut dans le TextView (EditText s'étend TextView) est
Et définir un nouveau paintflag remplacera le précédent. J'ai fait un test pour le vérifier. Donc, juste comme ça: