J'ai besoin de créer une fonction similaire à Toast.makeText (...) mais plus rapide à disparaître. J'ai vu une telle boîte de message dans le logiciel "Le monde fr" lorsque vous sélectionnez un bouton de la barre d'outils. Son apparaître et disparaître très rapidement si vous passez à une autre icône. Je cherche à faire la même chose mais je ne sais pas comment faire. Messagebox ne devrait pas être modal, ce que je veux est une sorte d'info-bulle rapide. L'info-bulle devrait apparaître et disparaître rapidement. des idées ?Comment créer une boîte de message de suppression automatique rapide sous ANDROID?
Répondre
Créer un objet Toast:
final Toast toast = Toast.makeText(this, "message", Toast.LENGTH_SHORT);
Créer un objet Timer:
Timer timer = new Timer();
Créer une tâche qui annule l'objet Toast
:
TimerTask task = new TimerTask() {
@Override
public void run() {
// make sure to cancel the Toast in UI thread
runOnUiThread(new Runnable() {
@Override
public void run() {
toast.cancel();
}
});
}
};
Exécutez l'annuler tâche après spécifié période de temps
timer.schedule(task, 100);
Merci beaucoup, je peux essayer de voir ça. – Fabien
L'info-bulle peut être effectuée via PopupWindows. Je suppose que vous avez une grille d'icônes et que vous voulez fournir des astuces qui disparaissent en fonction de l'heure ou en cliquant sur une autre icône - corrigez-moi si je me trompe:
Créer une mPopupWindow globale et la rejeter avant de gonfler une nouvelle un à chaque fois. Vous pouvez utiliser des threads qui le rejettent pour vous en fonction de l'heure ou du code défini dans votre écouteur de défilement.
PopupWindow mPopupWindow = null;
mIconButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (mPopupWindow != null) {
mPopupWindow.dismiss();
mPopupWindow = null;
}
TextView tv = new TextView(getApplicationContext());
tv.setText(tooltipText);
tv.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon,
0, 0, 0);
mPopupWindow = new PopupWindow(tv);
mPopupWindow.setWindowLayoutMode(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
mPopupWindow.showAsDropDown(v);
// write threads to disable it based on time as well
}
});
Très interessant, je ne savais pas à ce sujet ! – Fabien
Avez-vous essayé de modifier la durée des notifications Toast?
Toast.makeText(context, "My message", Toast.LENGTH_SHORT).show();
Je me méfie d'avoir une notification apparaître et disparaître plus vite que tout ce que la courte durée est optimisé pour le temps minimum un utilisateur prend pour voir et lire le pain grillé.
J'ai essayé, mais j'ai fait la barre d'outils à partir du widget galerie. Et je voulais quand vous faites défiler sur la barre d'outils pour afficher une infobulle très courte. La durée standard du toast LENGTH_SHORT est trop longue. Lorsque vous faites défiler rapidement jusqu'à la dernière image/bouton, vous pouvez toujours voir l'ancien texte de toast de l'image précédente sur la barre d'outils, car ils prennent beaucoup de temps à disparaître. – Fabien
vous pouvez le faire de cette façon. créer un toast personnalisé avec un textview (R.id.text). utilise une classe qui s'étend de la classe CountDownTimer pour contrôler la durée d'affichage du toast. par exemple: MyCount counter = new MyCount (5000,1000);
affichera le toast pendant 5 secondes. abaissez les valeurs pour obtenir les résultats souhaités.
LayoutInflater inflater = getLayoutInflater();
Afficher la présentation = inflater.inflate (R.layout.toastxml, (ViewGroup) findViewById (R.id.toast_layout_root)); toast = nouveau Toast (this); toast.setView (disposition);
TextView text = (TextView) layout.findViewById (R.id.text); Text.setText ("Bonjour, ceci est un toast personnalisé!");
Compteur MyCount = new MyCount (5000,1000); compteur.début();
classe mycount étend CountDownTimer {
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
toast.cancel();
}
@Override
public void onTick(long millisUntilFinished) {
toast.show();
}
}
aussi intéressant! – Fabien
- 1. comment créer une boîte de message de fermeture automatique dans java
- 2. Comment implémenter une boîte de message dans une application Cocoa?
- 3. vim comment créer un message de débogage rapide
- 4. option de suppression automatique
- 5. boîte de message
- 6. Boîte de message en Python
- 7. Comment créer une fenêtre Qt se comporter comme une boîte de message?
- 8. Conseil boîte de message personnalisé
- 9. Boîte de message dans ASP.NET
- 10. Comment masquer automatiquement la boîte de message?
- 11. boîte de message n'affiche le message
- 12. Suppression d'un pointeur vers une variable automatique
- 13. Utiliser html pour créer une boîte de saisie semi-automatique pour le navigateur de l'iphone
- 14. Comment créer une boîte de message bubbble similaire à l'application iPhone buildin SMS?
- 15. Comment créer une boîte de message avec "Oui", "Non" choix et un DialogResult?
- 16. Comment détecter si une boîte de message est visible?
- 17. Boîte de dialogue Message/Confirmer
- 18. Boîte de dialogue de rappel de suppression
- 19. Patch rapide Ne pas créer de Uninstallation
- 20. Comment créer une boîte de connexion JQuery Modal en C#
- 21. Android - boîte de recherche rapide personnalisée
- 22. Est-il possible de créer une boîte de message qui affiche le contenu html?
- 23. JSFL: Suppression/clic automatique sur les boîtes de dialogue
- 24. Suppression/suppression de sous-arborescences dans SML
- 25. Comment créer une boîte de dialogue dans une application iphone
- 26. Affichage d'un message de confirmation lors de la suppression
- 27. Comment créer une clé primaire d'incrémentation automatique?
- 28. La boîte de message provoque une perte de focus
- 29. Recherche rapide Boîte pour l'adaptateur de filtre
- 30. Boîte de message dans Asp.NET C#
Cela pourrait vous aider: http://groups.google.com/group/android-developers/browse_thread/thread/edf69019754e565b – Pentium10