Los mensajes que vamos a crear se denominan Toast y vamos a ver mensajes Toast de cuatro tipos:
| Mensaje de sólo texto | Mensaje con icono | 
| Mensaje con icono y texto | Mensaje con icono y texto con XML | 
Veamos cómo se crearía cada uno de ellos. Cabe destacar que este código debe ejecutarse dentro del código de una clase Activity.
Mensaje de sólo texto
Toast toast = Toast.makeText(getApplicationContext(), "Mensaje Toast con sólo texto", Toast.LENGTH_SHORT); toast.show();
Mensaje con icono
Toast toast = new Toast(getApplicationContext()); ImageView view = new ImageView(getApplicationContext()); view.setImageResource(android.R.drawable.ic_menu_info_details); toast.setView(view); toast.setDuration(Toast.LENGTH_SHORT); toast.show();
Mensaje con icono y texto
Toast toast = Toast.makeText(getApplicationContext(), "Mensaje Toast con texto e icono", Toast.LENGTH_SHORT); View textView = toast.getView(); LinearLayout lay = new LinearLayout(getApplicationContext()); lay.setOrientation(LinearLayout.HORIZONTAL); ImageView view = new ImageView(getApplicationContext()); view.setImageResource(android.R.drawable.ic_menu_info_details); lay.addView(view); lay.addView(textView); toast.setView(lay); toast.show();
Mensaje con icono y texto con XML
LayoutInflater inflater = getLayoutInflater(); View layoutView = inflater.inflate(layout, null); Toast toast = new Toast(getApplicationContext()); toast.setDuration(Toast.LENGTH_SHORT); toast.setView(layoutView); toast.show();
El código XML del Toast sería:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@layout/border"
    android:gravity="center">
        <ImageView 
              android:src="@android:drawable/ic_menu_info_details"
              android:layout_width="wrap_content"
              android:layout_height="fill_parent"
              android:layout_marginRight="10dp"/>
 <TextView 
             android:text="@string/text_icon_msg"
             android:layout_width="wrap_content"
             android:layout_height="fill_parent"
             android:textColor="#FFFFFF"
             android:gravity="center_vertical"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#444444"/>    
    <stroke 
        android:width="4dp" 
        android:color="#999999" />
    <padding 
        android:left="7dp" 
        android:top="7dp"
        android:right="7dp" 
        android:bottom="7dp" />
    <corners 
        android:bottomRightRadius="7dp" 
        android:bottomLeftRadius="7dp" 
        android:topLeftRadius="7dp" 
        android:topRightRadius="7dp"/> 
</shape> 
Ahora veamos el código de la clase activity al completo:
package org.ffbeltran;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
public class EjemploToast extends Activity {
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button button;
        button = (Button) findViewById(R.id.text_only_button);
        button.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {
                textOnlyToast(getString(R.string.text_only_msg), Toast.LENGTH_SHORT);
            }
        });
        
        button = (Button) findViewById(R.id.icon_only_button);
        button.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {
                iconOnlyToast(android.R.drawable.ic_menu_info_details, Toast.LENGTH_SHORT);
            }
        });
        
        button = (Button) findViewById(R.id.text_icon_button);
        button.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {
                textIconToast(R.layout.text_icon_toast, Toast.LENGTH_LONG);
//                textIconToast(getString(R.string.text_icon_msg), 
//                        android.R.drawable.ic_menu_info_details, Toast.LENGTH_SHORT);
            }
        });
    }
    
    private void textOnlyToast(String message, int duration) {
        Toast toast = Toast.makeText(getApplicationContext(), message, duration);
        toast.show();
    }
    
    private void iconOnlyToast(int icon, int duration) {
        Toast toast = new Toast(getApplicationContext());
        ImageView view = new ImageView(getApplicationContext());
        view.setImageResource(icon);
        toast.setView(view);
        toast.setDuration(duration);
        toast.show();
    }
    
    private void textIconToast(String message, int icon, int duration) {
        Toast toast = Toast.makeText(getApplicationContext(), message, duration);
        View textView = toast.getView();
        LinearLayout lay = new LinearLayout(getApplicationContext());
        lay.setOrientation(LinearLayout.HORIZONTAL);
        ImageView view = new ImageView(getApplicationContext());
        view.setImageResource(icon);
        lay.addView(view);
        lay.addView(textView);
        toast.setView(lay);
        toast.show();
    }
    
    private void textIconToast(int layout, int duration) {
        LayoutInflater inflater = getLayoutInflater();
        View layoutView = inflater.inflate(layout, null);        
        Toast toast = new Toast(getApplicationContext());
        toast.setDuration(duration);
        toast.setView(layoutView);
        toast.show();
    }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_horizontal">
 <TextView  
     android:gravity="center"
  android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/app_name"
     android:textSize="25sp"
     android:textStyle="bold"
        android:layout_marginTop="25dip"
     android:layout_marginBottom="25dip"/>
 <Button
     android:id="@id/text_only_button"
     android:layout_gravity="center"
     android:layout_width="200dip"
     android:layout_height="wrap_content"
     android:text="@string/text_only_button"/>
   <Button
     android:id="@id/icon_only_button"
     android:layout_gravity="center"
     android:layout_width="200dip"
     android:layout_height="wrap_content"
     android:text="@string/icon_only_button"/>
 <Button
     android:id="@id/text_icon_button"
     android:layout_gravity="center"
     android:layout_width="200dip"
     android:layout_height="wrap_content"
     android:text="@string/text_icon_button"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">EjemploToast</string>
    
    <string name="text_only_button">Sólo texto</string>
    <string name="icon_only_button">Sólo icono</string>
    <string name="text_icon_button">Texto e icono</string>
    
    <string name="text_only_msg">Mensaje Toast con sólo texto</string>
    <string name="text_icon_msg">Mensaje Toast con texto e icono</string>
</resources>





