Тост: Разница между «этим» и «getApplicationContext ()»?

Мое устройство работает под управлением Android 5.1.1, и я узнал, что если я использую

Toast.makeText(this, "This is a toast", Toast.LENGTH_SHORT).show(); 

Я получил это:

«Круглый» тост

Но если я использую getApplicationContext() вместо this ,

 Toast.makeText(getApplicationContext(), "This is a toast", Toast.LENGTH_SHORT).show(); 

Я получил это:

Прямоугольный тост

Оба вызываются непосредственно из активности.

Почему это?

Это связано с тем, что связанная с ним тема. Используя this , используйте контекст (я принимаю вашу Activity или Fragment ), у которого есть другая тема, чем контекст приложения.

Если у вас есть причина, вам нужно использовать контекст приложения, вы можете обернуть его в зависимости от темы, которую используют ваши действия (как правило, в AndroidManifest.xml ), и она должна показывать «круглый» тост.

 Toast.makeText(new ContextThemeWrapper(getApplicationContext(), R.style.AppTheme), "This is a toast", Toast.LENGTH_SHORT).show(); 
Intereting Posts
Отправка электронной почты без пользователя Взаимодействие – Android Studio Android: избегайте сбоев приложения из-за необработанных ошибок FragmentPagerAdapter – как обнаружить салфетки или вкладку, когда пользователь переходит на новую вкладку? Как изменить стиль ProgressBar в ListFragment в библиотеке совместимости? LibGDX: обрабатывать первый цвет в палитре как прозрачный цвет Получение уровня заряда батареи в виджетах android Примеры приложений, используемых служб резервного копирования Android Можем ли мы зашифровать папку в android? Клиент для веб-сокетов Spring Stomp для Android YUV_420_888 перевод на Samsung Galaxy S7 (Camera2) Как создать круговой индикатор выполнения (круговая диаграмма), как индикатор – Android Установка Android-приложения без SD-карты Tcp подключить другое устройство Android, основанное на телефоне # вместо IP? Android: отображение языка пользовательского интерфейса «на лету» без перезагрузки / перезапуска приложения Как реализовать материальный дизайн Хореографическая анимация поверхности