Cómo personalizar Tostada en Android?

¿Es posible hacer personalizar Toast en Android. Como si podemos colocar en él el icono de la imagen y el botón del lugar.

También puede usar el makeText regular () y manejar el getView () para establecer una imagen al lado para ver la siguiente.

Toast toast = Toast.makeText(context, text, Toast.LENGTH_SHORT); TextView tv = (TextView) toast.getView().findViewById(android.R.id.message); if (null!=tv) { tv.setCompoundDrawablesWithIntrinsicBounds(icon, 0, 0, 0); tv.setCompoundDrawablePadding(context.getResources().getDimensionPixelSize(R.dimen.padding_toast)); 

Puedes poner cualquier vista en un Toast usando setView . Sin embargo, no estoy muy seguro de por qué desea colocar un botón en ella, como un pan tostado desaparecerá rápidamente. Tomado del sitio del revelador de Officiel:

Cuando la vista se muestra al usuario, aparece como una vista flotante sobre la aplicación. Nunca recibirá el foco. El usuario probablemente estará en medio de escribir algo más. La idea es ser tan discreto como sea posible, mientras sigue mostrando al usuario la información que desea que vean.

Por lo tanto, el brindis sólo debe utilizarse para mostrar información. Para interacciones más complejas, puede utilizar un cuadro de diálogo.

La tostada no está enfocada. El botón de agregar no tiene sentido. Sin embargo, puede mostrar información. También puede controlar su visibilidad significa que puede ocultarse y mostrar haciendo algunos cambios en la clase Toast.

Es obviamente posible crear tostadas personalizadas en android. Sólo revisa mi blog.http: //androiddesk.wordpress.com/2012/01/28/custom-notification-in-android-with-an-example/ He explicado sobre ello en detalle.

ARCHIVO XML

 enter code here`<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toast_layout_root" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="8dp" android:background="#DAAA" > <ImageView android:src="@drawable/droid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="8dp" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFF" /> 

'

CÓDIGO JAVA

  LayoutInflater inflater = getLayoutInflater(); View layout = inflater.inflate(R.layout.custom_toast, (ViewGroup) findViewById(R.id.toast_layout_root)); TextView text = (TextView) layout.findViewById(R.id.text); text.setText("This is a custom toast"); Toast toast = new Toast(getApplicationContext()); toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); toast.setDuration(Toast.LENGTH_LONG); toast.setView(layout); toast.show(); 

Tostadas se pueden personalizar para mostrar en diferentes lugares como arriba, abajo, centro, izquierda, derecha

  toast.setGravity(Gravity.TOP , 0, 0); // for example setting gravity to top 

Para más detalles [aquí] ( http://androidcoding.in/2016/05/31/android-tutorial-custom-toast/ "Android tostada personalizada")

  • ¿Puedo cancelar Toast anterior cuando quiero mostrar otro Toast?
  • Cómo cambiar la alineación de Toast por programación?
  • Valor siempre devuelve 0 donde debe devolver el número de fila insertada
  • Cómo configurar la tipografía para brindar?
  • Incompatibilidad de tipo: no se puede convertir void to toast
  • ¿Cómo puedo mostrar un brindis por una duración específica?
  • Contabilización del mensaje Toast de un hilo
  • Cómo evitar los solapamientos de tostadas múltiples
  • ¿Botón en la tostada de encargo de Android?
  • Use el pan tostado dentro del fragmento
  • ¿Cómo dejar de mostrar el mensaje de Toast cuando la aplicación está cerrada?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.