К сожалению, это не очень простая задача. В своем ответе я подробно описываю, как настроить цвет a ListSeparator
, просто проверив родительский стиль, используемый Android, создав новое изображение и создав новый стиль на основе оригинала. К сожалению, в отличие от ListSeparator
стиля, AlertDialog
темы являются внутренними, и поэтому на них нельзя ссылаться как на родительские стили. Нет простого способа изменить эту маленькую синюю линию! Таким образом, вам нужно прибегнуть к созданию настраиваемых диалогов.
Если это не ваша чашка чая ... не сдавайтесь! Я был очень обеспокоен тем, что не было простого способа сделать это, поэтому я создал небольшой проект на github для создания быстро настраиваемых диалогов в голографическом стиле (при условии, что телефон поддерживает голографический стиль). Вы можете найти проект здесь: https://github.com/danoz73/QustomDialog
Он должен легко позволить перейти от скучного синего к волнующему оранжевому!
Проект в основном представляет собой пример использования настраиваемого конструктора диалоговых окон, и в этом примере я создал настраиваемое представление, которое, похоже, соответствует примеру IP-адреса, который вы указываете в исходном вопросе.
С QustomDialog
, чтобы создать базовый диалог (заголовок, сообщение) с желаемым другим цветом для заголовка или разделителя, вы используете следующий код:
private String HALLOWEEN_ORANGE = "#FF7F27";
QustomDialogBuilder qustomDialogBuilder = new QustomDialogBuilder(v.getContext()).
setTitle("Set IP Address").
setTitleColor(HALLOWEEN_ORANGE).
setDividerColor(HALLOWEEN_ORANGE).
setMessage("You are now entering the 10th dimension.");
qustomDialogBuilder.show();
А чтобы добавить собственный макет (скажем, чтобы добавить маленький IP-адрес EditText
), вы добавляете
setCustomView(R.layout.example_ip_address_layout, v.getContext())
в конструктор с макетом, который вы разработали (пример IP можно найти в github). Надеюсь, это поможет. Большое спасибо Джозефу Эрлу за его ответ здесь .