Niestety nie jest to szczególnie proste zadanie do wykonania. W mojej odpowiedzi szczegółowo opisuję, jak dostosować kolor a, ListSeparator
po prostu sprawdzając styl nadrzędny używany przez Androida, tworząc nowy obraz i tworząc nowy styl na podstawie oryginału. Niestety, w przeciwieństwie do ListSeparator
stylu,AlertDialog
motywy mają charakter wewnętrzny i dlatego nie można do nich odwoływać się jako stylów macierzystych. Nie ma łatwego sposobu na zmianę tej małej niebieskiej linii! Dlatego musisz uciec się do tworzenia niestandardowych okien dialogowych.
Jeśli to nie twoja filiżanka herbaty ... nie poddawaj się! Byłem bardzo zaniepokojony, że nie ma na to łatwego sposobu, więc założyłem mały projekt na githubie do tworzenia szybko dostosowanych dialogów w stylu holo (zakładając, że telefon obsługuje styl Holo). Projekt można znaleźć tutaj: https://github.com/danoz73/QustomDialog
Powinien z łatwością umożliwić przejście od nudnego błękitu do ekscytującej pomarańczy!
Projekt jest w zasadzie przykładem użycia konstruktora niestandardowego okna dialogowego, aw przykładzie utworzyłem niestandardowy widok, który wydawał się odpowiadać przykładowi adresu IP, który podałeś w swoim pierwotnym pytaniu.
W przypadku QustomDialog
, aby stworzyć podstawowe okno dialogowe (tytuł, komunikat) z żądanym innym kolorem tytułu lub separatora, należy użyć następującego kodu:
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();
Aby dodać niestandardowy układ (powiedzmy, aby dodać mały adres IP EditText
), dodajesz
setCustomView(R.layout.example_ip_address_layout, v.getContext())
do konstruktora z zaprojektowanym układem (przykład adresu IP można znaleźć na github). Mam nadzieję, że to pomoże. Wielkie podziękowania dla Josepha Earla i jego odpowiedzi tutaj .