Définir par programmation des Ressources de base de l'EditText transparent champ
C'est la méthode par défaut d'un EditText l'air quand je créer un:
C'est à quoi il ressemble après j'ai changer le fond de celui-ci:
Pour changer le fond de l'image ci-dessus, j'ajoute à la suite de EditText propriété à mon EditText dans mon fichier XML:
android:background="@android:drawable/edit_text"
Ce que je veux faire est de faire ce que j'ai fait ci-dessus dans ma classe d'activité (en donnant à l'utilisateur une option permettant de choisir entre le style classique et le transparent/le nouveau style).
Si comme ça - j'ai besoin de personnes pour remplir les /*...*/
if (classicTextbox()) { //the blocky white one
editText.setTextColor(Color.BLACK);
editText.setBackgroundResource(android.R.drawable.edit_text);
} else { //the new transparent one
editText.setTextColor(Color.WHITE);
editText.setBackgroundResource(/*...*/);
}
Alors, comment puis-je revenir à la nouvelle, transparente EditText style?
Vous devez vous connecter pour publier un commentaire.
J'ai fini par essayer de simplement enregistrer l'original
Drawable
lors de la mise en page est ouverte, puis définir l'arrière-plan des ressources de cette façon, chaque fois que je veux. Comme ceci:Dans mon
onCreate
méthode:Et puis le configurer:
Je encouragent encore plus de réponses parce que je n'aime pas vraiment cette solution.
Sources:
Comment faire pour retourner à la valeur par défaut de style sur EditText si je appliquer un arrière-plan?
setBackground vs setBackgroundDrawable (Android)
La valeur par défaut holo
EditText
's de fond est:edit_text_holo_dark
. C'est la version sombre. Il y a aussi la contrepartie de cela, la version "light":edit_text_holo_light
.edit_text_holo_dark.xml
:Gardez à l'esprit que ces holo éléments ne sont disponibles que sur Android HC+.
android.R.drawable
? Je ne peux pas simplement copier ce xml pour moi-même, car il fait référence à un drawable que je n'ai pas.