2010-12-13 47 views
7

Puis-je définir un message pour apparaître comme une "info-bulle" pour un TextView ou un bouton?Puis-je définir quelque chose comme "tooltip" pour une vue dans Android?

+0

Les infobulles fonctionnent habituellement en apparaissant au survol de la souris (survol). Comment une info-bulle fonctionnerait-elle sur un appareil à écran tactile, où il n'y a pas de pointeur de souris persistant? Voir aussi le commentaire de CommonsWare [ici] (http://stackoverflow.com/questions/3350020). –

+0

Pas exactement une info-bulle, pour être plus clair ... quand je mets le curseur dans une vue EditText j'ai besoin d'un message pour apparaître! – Adham

+0

Okay. De quel genre de message parlons-nous ici? Une image de maquette aiderait à expliquer ce que vous recherchez. –

Répondre

15

Il n'y a pas de concept de "survol" dans un écran tactile, mais vous pouvez définir un LongClickListener pour votre vue et afficher un Toast après un appui long. Quelque chose comme ceci:

Toast viewToast = Toast.makeText(this, "My View Tooltip", Toast.LENGTH_SHORT); 

View myView = (View)findViewById(R.id.my_view); 

myView.setOnLongClickListener(new OnLongClickListener() { 
    @Override 
    public void onLongClick(View v) { 
     viewToast.show(); 
    } 
}); 

EDIT: Après avoir lu votre commentaire, vous devez simplement utiliser l'attribut hint dans votre EditText XML mise en page:

<EditText 
    android:hint="My tip here" /> 
+2

"hovering in touch screen" est maintenant possible en 2013 :) –

2

-Premier définir un textview avec votre touche et réglez-le invisible.

-Créer un fichier XML d'animation avec une animation alpha, indiquez combien de temps vous souhaitez afficher (à la fin que l'animation à zéro alpha afin qu'il reste invisible) et le mettre dans res-> dossier anim

-Intérieur vos méthodes de vue onCreate et onClick qui ont besoin toolTip

  1. définir la vue de texte visible
  2. Accrocher l'animation (comme R.anim.tooltip) à ce point de vue texte

-Utilisez des indicateurs booléens et autorisez l'utilisateur à désactiver les info-bulles dans le menu.

Je vais vous laisser les détails du code. Vous les trouvez facilement dans stackoverflow.