5 votes

Une vue peut-elle être à la fois ciblée et invisible ?

Je veux avoir un EditText en pleine lumière, de sorte qu'il est édité, mais aussi invisible. En d'autres termes, l'utilisateur ne verra que le clavier.

Est-ce possible ?

13voto

Pragnani Points 12259

AFAIK, un Edittext d'invisibilité ne peut pas avoir de vue (je n'ai jamais essayé).

Pour ce faire, vous pouvez définir un arrière-plan transaparent pour le texte d'édition.

youredittext.setBackgroundResource(android.R.color.transparent);

ou vous pouvez directement définir l'attribut en XML comme ceci

android:background="@null"

2voto

Je sais que je suis peut-être en retard, mais j'ai récemment été confronté à un problème similaire.

La solution pourrait également être celle-ci (utilisation en styles.xml ou dans la mise en page) :

android:layout_width = 0dp
android:layout_height = 0dp

Cela permettra également à votre EditText être encore focalisable.

1voto

Jeffrey Points 134

Mes deux approches alternatives :

Approche 1 : Effacer en fondu

view.animate().alpha(0.0f).setDuration(0);

et l'intégrer en fondu lorsque vous le souhaitez

view.animate().alpha(1.0f).setDuration(0);

En fixant la durée à 0, on s'assure qu'elle se produit instantanément.

Approche 2 : Définir la vue en dehors de l'écran

LayoutParams params = view.getLayoutParameters();
int offset = -80; // offset from the screen border, choose your own
params.setMargins(0, 0, offset, 0); // left, top, right, bottom
view.setLayoutParams(params);

et faire

params.setMargins(0, 0, 0, 0); // left, top, right, bottom
view.setLayoutParams(params);

lorsque vous voulez le récupérer.

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