Как изменить цвет диалогового окна

Когда я установил свое приложение на разных устройствах Цвет диалогового окна меняется Устройства на устройство Как я могу установить цвет диалогового окна

С уважением, Кариячан.


person Dev.Sinto    schedule 08.12.2010    source источник


Ответы (4)


У вас есть подсказки на anddev.org. Основная идея состоит в том, чтобы расширить тему по умолчанию и использовать ее в своей деятельности. В частности, вам потребуется расширить стиль Theme.Dialog.

person Vincent Mimoun-Prat    schedule 08.12.2010

Можете ли вы назвать устройства, которые вы используете для тестирования? ... Вероятно, они могут содержать настроенную сборку Android, поэтому цвет диалогового окна меняется. Вы можете оставить все как есть, поскольку ваша сборка будет использовать стиль по умолчанию, доступный для устройства, в противном случае попробуйте установить стили, которые позволят избежать этого поведения.

person DeRagan    schedule 08.12.2010

Используйте активность в качестве диалога, установив для нее тему диалога. Затем вы можете раздуть свой собственный макет с помощью собственного фона и цветов.

person Kantesh    schedule 08.12.2010

Измените цвет диалогового окна и сделайте многое другое с помощью AlertDialog.

Что вам нужно сделать:

Когда на вашем экране отображается AlertDialog, вызывается OnShowListener. Итак, добавив dialog.setOnShowListener(this), вы сможете настроить свой AlertDialog.

Код:

// Create AlertDialog
AlertDialog.Builder adb = new AlertDialog.Builder(context1);
    adb.setTitle(context1.getString(R.string.app_name))
    .setMessage(message)
    .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {

        }
});
AlertDialog dialog = adb.create();

// Make some UI changes for AlertDialog
dialog.setOnShowListener(new DialogInterface.OnShowListener() {
    @Override
    public void onShow(final DialogInterface dialog) {

        // Add or create your own background drawable for AlertDialog window
        Window view = ((AlertDialog)dialog).getWindow();
        view.setBackgroundDrawableResource(R.drawable.your_drawable);

        // Customize POSITIVE, NEGATIVE and NEUTRAL buttons.
        Button positiveButton = ((AlertDialog)dialog).getButton(DialogInterface.BUTTON_POSITIVE);
        positiveButton.setTextColor(context1.getResources().getColor(R.color.primaryColor));
        positiveButton.setTypeface(Typeface.DEFAULT_BOLD);
        positiveButton.invalidate();

        Button negativeButton = ((AlertDialog)dialog).getButton(DialogInterface.BUTTON_NEGATIVE);
        negativeButton.setTextColor(context1.getResources().getColor(R.color.primaryColor));
        negativeButton.setTypeface(Typeface.DEFAULT_BOLD);
        negativeButton.invalidate();

        Button neutralButton = ((AlertDialog)dialog).getButton(DialogInterface.BUTTON_NEUTRAL);
        neutralButton.setTextColor(context1.getResources().getColor(R.color.primaryColor));
        neutralButton.setTypeface(Typeface.DEFAULT_BOLD);
        neutralButton.invalidate();
    }
});
person activesince93    schedule 11.02.2016