How can I change default toast message color and background color in android?

Saranya picture Saranya · Jul 2, 2015 · Viewed 82.7k times · Source

I want to create a toast message with background color is white and message color is black. My toast message is:

Toast.makeText(Logpage.this, "Please Give Feedback...", 3000).show();

I wanted to create it in another method not in onCreate().

Answer

Android Killer picture Android Killer · Jul 2, 2015

You can create the custom toast message like below :

Toast toast = new Toast(context);
toast.setDuration(Toast.LENGTH_LONG);

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View view = inflater.inflate(R.layout.your_custom_layout, null);
toast.setView(view);
toast.show();

One textview you can put inside the layout file and give the background and textcolor as you want.

Also you can do the following which won't need the extra custom layout file :

Toast toast = Toast.makeText(context, R.string.string_message_id, Toast.LENGTH_LONG);
View view = toast.getView();
view.setBackgroundResource(R.drawable.custom_background);
TextView text = (TextView) view.findViewById(android.R.id.message);
/*Here you can do anything with above textview like text.setTextColor(Color.parseColor("#000000"));*/
text.setTextColor(Color.parseColor("#000000"));
toast.show();