My device runs Android 5.1.1 and I found out that if I use
Toast.makeText(this, "This is a toast", Toast.LENGTH_SHORT).show();
I got this:
But if I use getApplicationContext()
instead of this
,
Toast.makeText(getApplicationContext(), "This is a toast", Toast.LENGTH_SHORT).show();
I got this:
Both are called directly from the activity.
Why is this?
It has to do with the Theme the Context has associated with it. Using this
is using a context (I'm assuming your Activity
or Fragment
) that has a different theme than the Application Context.
If you have a reason you need to be using the application context, you can wrap it in whichever theme your activities are using (usually set in your AndroidManifest.xml
) and it should show the "round" toast.
Toast.makeText(new ContextThemeWrapper(getApplicationContext(), R.style.AppTheme), "This is a toast", Toast.LENGTH_SHORT).show();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With