web-dev-qa-db-fra.com

Android Message contextuel

J'essaie d'obtenir une zone de texte contextuelle, avec des mentions légales et des informations sur l'application au début de mon lancement de l'application Android. Quelqu'un sait-il comment l'implémenter? Peut-il également être lu à partir d'un fichier txt?

Merci

41
Ranger

Si vous voulez un Popup qui se ferme automatiquement, vous devriez chercher Toasts . Mais si vous voulez un dialogue que l'utilisateur doit fermer avant de continuer, vous devez rechercher un Dialog .

Pour les deux approches, il est possible de lire un fichier texte avec le texte que vous souhaitez afficher. Mais vous pouvez aussi coder le texte en dur ou utiliser R.String pour définir le texte.

40
RoflcoptrException

Vous pouvez utiliser Dialog pour créer ceci facilement

créer une instance de dialogue en utilisant le contexte

Dialog dialog = new Dialog(contex);

Vous pouvez concevoir votre mise en page comme vous le souhaitez.

Vous pouvez ajouter cette mise en page à votre dialogue par dialog.setContentView(R.layout.popupview);//popup view is the layout you created

alors vous pouvez accéder à son contenu (textviews, etc.) en utilisant la méthode findViewById

TextView txt = (TextView)dialog.findViewById(R.id.textbox);

vous pouvez ajouter n'importe quel texte ici. le texte peut être stocké dans le fichier String.xml dans res\values.

txt.setText(getString(R.string.message));

puis enfin afficher le menu contextuel

dialog.show();

plus d'informations http://developer.Android.com/guide/topics/ui/dialogs.html

http://developer.Android.com/reference/Android/app/Dialog.html

40

Supposons que vous vouliez définir une zone de texte contextuelle pour cliquer sur un bouton: bt dont l'id est button, puis coder avec Toast sera un peu ressemble à ca:

Button bt;
bt = (Button) findViewById(R.id.button);
bt.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {            
Toast.makeText(getApplicationContext(),"The text you want to display",Toast.LENGTH_LONG)
}
1
Swapnil Patil