198 votes

Désactiver le curseur clignotant de l'EditText

Est-ce que quelqu'un sait comment désactiver le curseur clignotant dans une EditText vue ?

3voto

vikas kumar Points 3629

Le problème de la définition de la visibilité du curseur à true et false peut être un problème car il supprime le curseur jusqu'à ce que vous le définissiez à nouveau et en même temps le champ est éditable ce qui n'est pas une bonne expérience utilisateur.

Ainsi, au lieu d'utiliser

setCursorVisible(false)

faites-le comme ceci

        editText2.setFocusableInTouchMode(false)
        editText2.clearFocus()
        editText2.setFocusableInTouchMode(true)

Le code ci-dessus supprime le focus qui à son tour supprime le curseur. Et le réactive pour que vous puissiez à nouveau le toucher et l'éditer. Tout comme une expérience utilisateur normale.

2voto

Sajid khan Points 437

Si vous voulez ignorer le Edittext à partir du début de l'activité, android:focusable y android:focusableInTouchMode vous aidera inshallah.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout7" android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:focusable="true" android:focusableInTouchMode="true">

Ce site LinearLayout avec votre Edittext .

0voto

Bhavani PK Points 41
  1. Changez le focus sur une autre vue (ex : n'importe quelle vue de texte ou Linearlayout dans le XML) en utilisant

    android:focusableInTouchMode="true"
    android:focusable="true"
  2. paramétrer addTextChangedListener pour edittext dans Activity.

  3. et ensuite sur aftertextchanged de Edittext mettre edittext.clearFocus() ;

Cela permettra d'activer le curseur lorsque le clavier est ouvert et de le désactiver lorsque le clavier est fermé.

0voto

Rohit Rohit Points 1

En kotlin votre_edittext.isCursorVisible = false

0 votes

S'il vous plaît, mettez en forme le balisage. Vous pouvez le faire en indentant le code de 4 espaces.

0voto

Rohan Talukder Points 39

Ajoutez Android:focusableInTouchMode="true" dans la disposition Root, lorsque vous cliquez sur le texte à modifier, le curseur s'affiche.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X