web-dev-qa-db-fra.com

Changer la couleur du curseur d'un EditText dans Android sur tous les sdk

Voulez-vous changer la couleur du curseur edittext d'Android, qui doit être travaillé sur tous les appareils

13
Kishore

je devais utiliser un drawable comme ceci:

mycursor.xml:

      <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:shape="rectangle" >
        <size Android:width="1dp" />
        <solid Android:color="@Android:color/holo_blue_light"/> 
<!--make sure its a solid tag not stroke or it wont work -->
    </shape>

dans mon texte d'édition, j'ai défini les attributs que le curseur peut dessiner comme ceci:

                            <EditText
                            Android:id="@+id/et_details"
                            Android:layout_width="match_parent"
                            Android:layout_height="wrap_content"
                            Android:cursorVisible="true"
                           Android:textCursorDrawable="@drawable/mycursor"  
                            />
17
j2emanue

Le moyen de le faire sur toutes les plateformes est en tant que tel.

1 - Ouvrez votre fichier layout.xml dans votre dossier de modèles. Recherchez le texte à modifier et définissez-le.

Android:cursorVisible="true"

cela placera le curseur pour les périphériques inférieurs à la version OS 11

2 - Créez votre cursor_drawable.xml dans le dossier pouvant être dessiné

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:shape="rectangle" >
    <size Android:width="1dp" />
    <stroke Android:color="@color/black"/>
</shape>

3 - Créer un dossier layout-v11

4 - Copiez votre layout.xml dans le layout-v11

5 - Recherchez votre texte de texte et définissez Android: textCursorDrawable = "@ drawable/cursor_drawable"

Cela fera apparaître un curseur sur tous les appareils et systèmes d’exploitation.

7
Aiden Fry

Attribuez l'attribut Android:textCursorDrawable à @null et définissez Android:textColor en tant que couleur du curseur.

7
AkashG

Créer drawalble xml: edtcolor_cursor

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >
        <size Android:width="1dp" />
        <solid Android:color="#FFFFFF"  />
    </shape>

<EditText  
    Android:layout_width="fill_parent" 
    Android:layout_height="wrap_content" 
    Android:cursorVisible="true"
    Android:textCursorDrawable="@drawable/edtcolor_cursor"
    />
1
Makvin