Как изменить цвет диалогового окна - PullRequest
1 голос
/ 08 декабря 2010

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

С уважением, Kariyachan

Ответы [ 4 ]

1 голос
/ 11 февраля 2016

Измените цвет DialogBox и сделайте намного больше с 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();
    }
});
1 голос
/ 08 декабря 2010

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

1 голос
/ 08 декабря 2010

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

1 голос
/ 08 декабря 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...