88 votes

setHintTextColor () dans EditText

J'ai Vue dans laquelle il y a deux zone de texte et l'utilisateur peut sélectionner la couleur du texte à partir d'un autre point de vue sur le même écran grâce à la boîte de dialogue. Ainsi, lorsque l'utilisateur change de couleur via la boîte de dialogue je suis l'évolution de la couleur de EditText texte et de son indice. Mais quand il y a du texte est disponible dans l' EditText après que l'utilisateur de sélectionner d'autres couleurs alors que le texte est à venir dans cette couleur, mais si je retire tout ce que le texte, la couleur de HintText est venue couleur précédente. Par exemple maintenant, j'ai de la couleur rouge dans la zone de texte maintenant à l'utilisateur de sélectionner la couleur verte, afin que le texte est là, dans la couleur verte, mais si je le supprimer du texte, puis de l'indice de texte sont à venir dans le rouge même si je l' indicateur de modification de la couleur dans le code. Ce problème arrive seulement quand il y a du texte. si elle est vierge et l'indice de texte est-il alors le problème ne vient pas.

320voto

Anand Chavan Points 1915

Ajoutez simplement ceci dans votre layout pour le EditText :

android: textColorHint = "# FFFFFF"

58voto

Sunil Kumar Sahoo Points 21032

ajoutez addTextChangedListener pour définir la couleur de l'indice

 editText.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
            // TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                int arg3) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable arg0) {
            // TODO Auto-generated method stub
            System.out.println(".....size..."+arg0.toString());
            if(arg0.toString().length()<=0){
                //set hinttextcolor
tv.setHintTextColor(getResources().getColor(R.color.white));
            }
        }
    });
 

15voto

Akhil s Points 61

Fichier de présentation interne XML Nous pouvons changer la couleur de l'indice .....

 android:textColorHint="@android:color/*****"
 

vous pouvez remplacer * par la couleur ou le code de couleur.

7voto

dishan Points 76

Il semble que EditText applique le hintTextColor uniquement si le texte est vide. Solution si simple sera comme ça

 Editable text = mEditText.getText();
mEditText.setText(null);
mEditText.setHintTextColor(color);
mEditText.setText(text);
 

Si vous avez plusieurs champs, vous pouvez étendre EditText et écrire une méthode qui exécute cette logique et utiliser cette méthode à la place.

6voto

Mike Milla Points 168

Par programme en Java - Au moins API v14 +

exampleEditText.setHintTextColor(Color.WHITE);

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