Android: Toast con imagen

Blog >Lista Soluciones >  Toast + imagen


Hola desarrolladores, normalmente cuando mostramos un Toast, aparece una pequeña ventana durante unos segundos con un texto en el que mostramos el contenido que deseamos.
En este caso el toast varía de una forma más personalizada.
 
Toast personalizado : Texto + imagen


Bien, vamos a ello: En la carpeta res/layout he creado el contenedor contenidotoast.xml que lleva este código:

        
 

Analizando el código vemos que hay una imagen referenciada a ic_menu_info_details en la carpeta drawable,y el textview referenca a text_icon_msg, que es un valor en string.xml al que le he puesto el texto de contenido "Bienvenido a Android"
 .



Ahora bien, vamos a usar la clase java de la actividad principal, en esta, unicamente hay un boton, el cual al pulsarlo, aparece el Toast:

import android.os.Bundle;
import android.app.Activity;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {
 //DECLARO VARIABLES
 private Button b1;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

      //Instancio boton
  b1=(Button) findViewById(R.id.b1);
  //Listener boton
  b1.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View arg0) {
    // TODO Auto-generated method stub
    getToast();
   }
  });
 }
//FUNCION PARA MOSTRAR TOAST
public void getToast(){
    //Inicializo Toast
 //Creo una vista que contiene el layout contenidotoast.xml
 //incluyendolo en la vista de la actividad principal
 LayoutInflater inflater = getLayoutInflater();
 View layout = inflater.inflate(R.layout.contenidotoast,
   (ViewGroup) findViewById(R.layout.activity_main));
 //Configuro Toast
 Toast toast = new Toast(getApplicationContext());
 //gravedad
 toast.setGravity(Gravity.CLIP_HORIZONTAL, 0, 0);
 //tipo toast
 toast.setDuration(Toast.LENGTH_LONG);
 //mostrar toast
 toast.setView(layout);
 toast.show();
 }
}


Y bien, este es el resultado :






Espero que haya sido de ayuda a más de uno, thebestandroide!!



Podeis descargar el código fuente de thebestandroide con sólo compartir en facebook,twitter,linkedin o suscribirte a nuestro canal RSS más abajo. 



Compartir Compartir Compartir Compartir




0 comentarios:

Publicar un comentario