Android
Crea una classe Singleton per il messaggio Toast
Ricerca…
introduzione
I messaggi di toast sono il modo più semplice per fornire feedback all'utente. Per impostazione predefinita, Android fornisce un messaggio con un messaggio di colore grigio in cui è possibile impostare il messaggio e la durata del messaggio. Se abbiamo bisogno di creare un messaggio di toast più personalizzabile e riutilizzabile, possiamo implementarlo da soli con l'uso di un layout personalizzato. Ancora più importante quando lo stiamo implementando, l'uso del modello di progettazione di Singelton renderà più semplice il mantenimento e lo sviluppo della classe di messaggi di brindisi personalizzati.
Sintassi
- Toast Toast (Contesto contesto)
- void setDuration (int duration)
- void setGravity (int gravity, int xOffset, int yOffset)
- void setView (Visualizza vista)
- void show ()
Parametri
Parametro | dettagli |
---|---|
contesto | Contesto rilevante che deve visualizzare il messaggio di brindisi. Se si utilizza questo passaggio di attività "questo" parola chiave o Se si utilizza in passaggio di gestione come "getActivity ()". |
vista | Creare una vista personalizzata e passare questo oggetto vista a questo. |
gravità | Passa la posizione di gravità del tostapane. Tutte le posizioni sono state aggiunte sotto la classe Gravity come variabili statiche. Le posizioni più comuni sono Gravity.TOP, Gravity.BOTTOM, Gravity.LEFT, Gravity.RIGHT. |
xOffset | Offset orizzontale del messaggio di toast. |
YOffset | Offset verticale del messaggio di toast. |
durata | Durata dello spettacolo di brindisi Possiamo impostare Toast.LENGTH_SHORT o Toast.LENGTH_LONG |
Osservazioni
Il messaggio Toast è un modo semplice per fornire feedback all'utente su qualcosa che sta accadendo. Se hai bisogno di un modo più avanzato per dare feedback puoi usare i dialoghi o la barra degli snack.
Per ulteriori dettagli sul messaggio di brindisi, consultare questa documentazione. https://developer.android.com/reference/android/widget/Toast.html
Crea la tua classe singleton per i massaggi ai toast
Ecco come creare la tua classe singleton per i messaggi di brindisi, Se la tua applicazione deve mostrare successo, avvertimenti e messaggi di pericolo per diversi casi d'uso, puoi usare questa classe dopo averla modificata secondo le tue specifiche.
public class ToastGenerate {
private static ToastGenerate ourInstance;
public ToastGenerate (Context context) {
this.context = context;
}
public static ToastGenerate getInstance(Context context) {
if (ourInstance == null)
ourInstance = new ToastGenerate(context);
return ourInstance;
}
//pass message and message type to this method
public void createToastMessage(String message,int type){
//inflate the custom layout
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout toastLayout = (LinearLayout) layoutInflater.inflate(R.layout.layout_custome_toast,null);
TextView toastShowMessage = (TextView) toastLayout.findViewById(R.id.textCustomToastTopic);
switch (type){
case 0:
//if the message type is 0 fail toaster method will call
createFailToast(toastLayout,toastShowMessage,message);
break;
case 1:
//if the message type is 1 success toaster method will call
createSuccessToast(toastLayout,toastShowMessage,message);
break;
case 2:
createWarningToast( toastLayout, toastShowMessage, message);
//if the message type is 2 warning toaster method will call
break;
default:
createFailToast(toastLayout,toastShowMessage,message);
}
}
//Failure toast message method
private final void createFailToast(LinearLayout toastLayout,TextView toastMessage,String message){
toastLayout.setBackgroundColor(context.getResources().getColor(R.color.button_alert_normal));
toastMessage.setText(message);
toastMessage.setTextColor(context.getResources().getColor(R.color.white));
showToast(context,toastLayout);
}
//warning toast message method
private final void createWarningToast( LinearLayout toastLayout, TextView toastMessage, String message) {
toastLayout.setBackgroundColor(context.getResources().getColor(R.color.warning_toast));
toastMessage.setText(message);
toastMessage.setTextColor(context.getResources().getColor(R.color.white));
showToast(context, toastLayout);
}
//success toast message method
private final void createSuccessToast(LinearLayout toastLayout,TextView toastMessage,String message){
toastLayout.setBackgroundColor(context.getResources().getColor(R.color.success_toast));
toastMessage.setText(message);
toastMessage.setTextColor(context.getResources().getColor(R.color.white));
showToast(context,toastLayout);
}
private void showToast(View view){
Toast toast = new Toast(context);
toast.setGravity(Gravity.TOP,0,0); // show message in the top of the device
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(view);
toast.show();
}
}