Guida Messaggio Toast alla pressione di un bottone

Stato
Discussione chiusa ad ulteriori risposte.

Axel93x

Utente Emerald
22 Maggio 2011
958
89
261
565
Quando parlo di toast in android, sicuramente non parlo di cibo :asd:


Prima di iniziare vi serviranno:


- Android studio
- Le API per sviluppare (versione android), se non le avete scaricare android sdk
- Voglia di imparare


PREMESSA:
In questa guida scriverò le varie parti di codice per far si che alla pressione di un bottone esca un messaggio toast.
Vi chiedo, se volete imparare, semplicemente di non fare un copia e incolla del codice, non vi porterà da nessuna parte.



GUIDA

Creiamo il nostro progetto e diamogli un nome
1f95d0c2a6.png



Dategli la versione sdk che volete
d91fd47827.png



Scegliete blank activity
8242af5089.png



Per comodità lasciate com'è, successivamente clickate finish.
5372e91aa3.png



Vi dovrebbe apparire una finestra del genere:
acf954cd96.png



Clickate su hello world e premete canc se non lo volete, oppure modificatelo facendo doppio click.

Dopodichè aggiungete un bottone, posizionatelo dove volete
6567a494db.png


andate nella parte text
af55fd29d4.png


Modificatelo a vostro piacimento, date un id al vostro bottone
Codice:
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:text="Premi il bottone per un toast"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/scrittatoast"
        android:layout_marginBottom="60dp"
        android:layout_above="@+id/pulsantetoast"
        android:layout_centerHorizontal="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TOAST"
        android:id="@+id/pulsantetoast"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />

</RelativeLayout>



Spiegazione:

TextView:
- android:text è il testo racchiuso nella casella di testo
- android:layout_width="wrap_content" e
android:layout_height="wrap_content"
si riferiscono alla grandezza della casella di testo, che in questo caso è indefinita, ciò vuol dire che può essere ridimensionata a piacere.
- android:id="@+id/scrittatoast" è l'id che viene dato dalla persona, voi potete mettere l'id che volete.
- android:layout_marginBottom="60dp" è la distanza dall'oggetto piu vicino, ma situato sotto di (in questo caso) textview.
- android:layout_above="@+id/pulsantetoast" è la connessione sul layout tra textview e il bottone.

Button:
- layout width e height li ho gia spiegati in textview.
- android:text="TOAST" è il testo del bottone
- android:id="@+id/pulsantetoast" è l'id del bottone
- android:layout_centerVertical="true" e
android:layout_centerHorizontal="true"
si riferiscono alla posizione del bottone nel layout dell'app.



Perfetto! Abbiamo creato la nostra app, ma non abbiamo ancora dato la funzione al bottone, per far si che quando viene premuto ci dia un messaggio toast.



Spostatevi nel Main Activity
9f3928b0c9.png


Posizioniamoci sotto il primo override
d34ddca013.png


Dobbiamo dichiarare la funzione di questo pulsante, giusto?
Quindi scriviamo:
Codice:
Button idbottone=(Button) findViewById(R.id.idbottone);
        idbottone.setOnClickListener(new View.OnClickListener() {

Nella prima riga stiamo dicendo alla classe che esiste un bottone con quell'id, mentre nella seconda stiamo dicendo alla classe che quando viene toccato deve succedere qualcosa, insomma diciamo che la classe aspetta che il pulsante venga premuto e appena viene premuto esegue quello che vuoi tu, infatti vediamo adesso come fare.

Codice:
pulsantetoast.setOnClickListener(new View.OnClickListener() {

Con questa stringa vai a dire: l'app sta in "ascolto" per la pressione del pulsante; poi, io premo il pulsante e...

Adesso vi si dovrebbe aprire in automatico un override
Codice:
@Override
            public void onClick(View v) {


Ora ci manca soltanto il codice per far si che alla pressione esca il messaggio

Codice:
Toast.makeText(getApplicationContext(),
                        "Benvenuto", Toast.LENGTH_LONG).show();

Spiegazione:
La prima riga crea il layout del toast
Il "Benvenuto" messo tra virgolette è il testo contenuto dal toast, modificatelo a vostro piacimento
Toast.LENGHT_LONG.show(); dividiamolo in 2 parti:
- Toast.LENGHT_LONG è la durata del toast (in questo caso 3,5 secondi, se fosse stato LENGHT_SHORT sarebbe stato di 2 secondi)
- .show mostra il toast nell'app.

Fatto tutto questo non vi resta che provare la vostra app!


RISULTATO:
38f4c3a5ce.jpg



VIDEO
-A breve-


Se ci sono problemi fatemelo sapere nella discussione di questa guida.
Buona programmazione android a tutti :)
 
Stato
Discussione chiusa ad ulteriori risposte.