Xamarin Toast.MakeText изменить цвет

как я могу изменить цвет фона Toast в приложении Xamarin Forms?

Я пробовал этот код на Android 11:

        Context context = Android.App.Application.Context;
        string message = "Hello toast!";
        ToastLength duration = ToastLength.Short;

        Toast t = Toast.MakeText(context, message, duration);
        System.Drawing.Color c = Xamarin.Forms.Color.Green;
        ColorMatrixColorFilter CM = new ColorMatrixColorFilter(new float[]
            {
                0,0,0,0,c.R,
                0,0,0,0,c.G,
                0,0,0,0,c.B,
                0,0,0,1,0            
            });
        t.View.Background.SetColorFilter(CM);
        t.Show();

Но я получаю следующую ошибку: System.NullReferenceException: «Ссылка на объект не указывает на экземпляр объекта».

какая строка конкретный вызывает исключение? На первый взгляд даже не кажется, что этот код должен компилироваться.

Jason 16.05.2022 22:54

это тоже спрашивали много раз: google.com/…

Jason 16.05.2022 22:55
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
2
18
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пользовательские всплывающие окна устарели, начиная с Android 11. Таким образом, значение t.View в вашем коде равно нулю.

Как говорится в официальном документе:

Custom toast views are deprecated. Apps can create a standard text toast with the makeText(android.content.Context, java.lang.CharSequence, int)

Вы можете проверить следующий случай: Toast.getView() возвращает null на Android 11 (API 30)

Другие вопросы по теме