#android #android-studio #toast #android-toast
#Android #android-studio #toast #android-toast
Вопрос:
Я хочу показать пользовательский toast пользователям. Но toast.getView() и toast.setView() устарели в Android studio.
Вот мой код:
Toast toast = Toast.makeText(context, "Show Toast", Toast.LENGTH_LONG);
View view = toast.getView();
view.setBackgroundResource(R.drawable.toast_background);
TextView text = view.findViewById(android.R.id.message);
text.setTextColor(Color.WHITE);
text.setPadding(15,0,15,0);
toast.show();
Теперь, как настроить toast в android studio (java)?
Комментарии:
1. согласно документации, он не поддерживается для API> = 30, и вместо этого предлагается использовать Snackbar . Я думаю, вы также могли бы создать диалоговое окно без кнопок, которое было бы отклонено через определенное время, что, вероятно, наиболее близко к Toast визуально
2. Я сделаю это. Спасибо @Stachu.
Ответ №1:
Создать новый класс
public class WhiteCustomToast {
public static void Make(Context context, String message) {
Toast toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
View view = toast.getView();
view.setBackgroundResource(R.drawable.white_cutom_bg);
TextView text = (TextView) view.findViewById(R.id.message);
//text.setTextColor(context.getResources().getColor(R.color.white));
text.setTextColor(Color.parseColor("#FFFFFFFF"));
text.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
text.setTypeface(Utilities.Ubuntu_Regular);
text.setTextSize(14f);
}
toast.show();
}
}
И используются в основном классе или везде
WhiteCustomToast.Make(context, "Checking");