Как установить пользовательский шрифт для диалогового окна предупреждения в android?
В моем приложении Android появится диалоговое окно с предупреждением после нажатия кнопки. Я хочу установить специальный шрифт для предупреждения. Я искал в Интернете и нашел несколько уроков и вопросов по этому вопросу, но ни один из них не работал у меня.
Как изменить шрифт?
Спасибо
Ответы
Ответ 1
Для этого вы используете построитель предупреждений для создания своего предупреждения. Затем вы получите TextView из этого предупреждения, а затем установите шрифт для предупреждения.
AlertDialog dialog = new AlertDialog.Builder(this).setMessage("Hello world").show();
TextView textView = (TextView) dialog.findViewById(android.R.id.message);
Typeface face=Typeface.createFromAsset(getAssets(),"fonts/FONT");
textView.setTypeface(face);
Ответ 2
Вышеуказанные ответы не помогли мне.
Я использовал следующий подход
// Initializing the alertDialog
AlertDialog alertDialog = new AlertDialog.Builder(QuizActivity.this).create();
alertDialog.setTitle("Warning");
alertDialog.setMessage("Are you sure you want to exit?");
alertDialog.show(); // This should be called before looking up for elements
// Getting the view elements
TextView textView = (TextView) alertDialog.getWindow().findViewById(android.R.id.message);
TextView alertTitle = (TextView) alertDialog.getWindow().findViewById(R.id.alertTitle);
Button button1 = (Button) alertDialog.getWindow().findViewById(android.R.id.button1);
Button button2 = (Button) alertDialog.getWindow().findViewById(android.R.id.button2);
// Setting font
textView.setTypeface(FontHelper.getFont(Fonts.MULI_REGULAR));
alertTitle.setTypeface(FontHelper.getFont(Fonts.MULI_REGULAR));
button1.setTypeface(FontHelper.getFont(Fonts.MULI_BOLD));
button2.setTypeface(FontHelper.getFont(Fonts.MULI_BOLD));
Протестировано на 7.1.1
ПРИМЕЧАНИЕ. Убедитесь, что вы получили элемент после отображения dialog
. Без этого вы получите NullPointerException
Ответ 3
Вы можете определить свой собственный макет диалогового окна, которое вы хотите отобразить.
Здесь ссылка для этого
Создание пользовательского диалогового окна в Android
В макете вы можете определить TextViews с типом, который вы хотите. Вам нужно загрузить файлы otf для нужного шрифта. Имейте их в своих каталогах ресурсов. И установите это как TypeFace вашего TextView. И как установить TypeFace
Это может быть полезно
Как изменить шрифт в TextView?