Comment puis-je supprimer la bordure avec apparaît lors de la mise au point d'une vue EditText?
J'en ai besoin car cette vue a peu d'espace sur l'écran, mais sans la bordure c'est suffisant. Lors de l'exécution sur Emulator, une bordure orange apparaît, sur l'appareil une bordure bleue.
android
android-edittext
Marcos Vasconcelos
la source
la source
Réponses:
Avez-vous essayé de définir l'arrière-plan de la
EditText
couleur transparente?<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/hello" android:background="#00000000" />
la source
"@android:color/transparent"
est un peu plus explicite."@null"
peut également être une option<EditText android:id="@+id/edittext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/editbox_background_normal" />
la source
C'est possible. Cependant, je ne le recommanderais pas car les utilisateurs sont habitués à certaines métaphores et vous ne devez pas changer l'UX général.
Vous pouvez appliquer différents styles à vos vues. Dans votre cas, il semble que vous vouliez un élément EditText View qui ressemble à un élément TextView. Dans ce cas, vous devrez spécifier d'autres arrière-plans pour EditText en fonction de l'état de l'élément View.
Dans votre layout.xml souhaité, vous attribuez un arrière-plan à votre EditText:
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/hello" android:background="@drawable/custom" />
Ensuite, vous créez le custom.xml dans votre dossier dessinable et ajoutez ce qui suit:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/textfield_default" /> <item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/textfield_disabled" /> <item android:state_pressed="true" android:drawable="@drawable/textfield_default" /> <item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/textfield_default" /> <item android:state_enabled="true" android:drawable="@drawable/textfield_default" /> <item android:state_focused="true" android:drawable="@drawable/textfield_disabled" /> <item android:drawable="@drawable/textfield_disabled" /> </selector>
Ce sont les états possibles de votre élément EditText View. Normalement, vous pouvez accéder directement aux dessinables de la plate-forme Android en utilisant
@android:drawable/textfield_default
, mais dans ce cas, les dessinables de champ de texte sont privés, vous devez donc les copier dans votre propre dossier dessinable. Les ressources d'origine se trouvent dans le dossier d'installation de votre SDK à l'adresseANDROID_HOME\platforms\android-(API LEVEL)\data\res\drawable-(*dpi)\
.Une fois que vous avez terminé, vous vous retrouvez avec un EditText qui ressemble à un TextView mais complètement sans ces bordures. Les bordures orange que vous avez vues dans l'émulateur sont les drawables Android par défaut. Les bleus sont spécifiques au fournisseur (éventuellement Samsung).
J'espère que cela a aidé et n'a pas beaucoup dérouté.
la source
C'est la solution la plus rapide:
<EditText android:id="@+id/edittext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00000000" />
la source
Vous pouvez conserver la couleur d'arrière-plan transparente pour supprimer la bordure EditText sur le focus.
Méthode 1
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#00000000" />
la source