Pierwszą rzeczą jaką musimy zrobić jest definicja stylu tego Dialogu. W moim przypadku stworzyłem plik o nazwie dialogstyle.xml w folderze /values (Resource). Wygląda on następująco:
Nazywamy nasz styl do którego odwołamy się bezpośrednio w kodzie aplikacji CustomDialogTheme. Pozbywamy się także tytułu android:windowNoTitle oraz nadajemy kolor (przeźroczysty)android:windowBackground. Nasz styl jest gotowy i możemy zacząć go stosować.
Musimy jeszcze przygotować layout Dialogu. W tym celu tworzymy zwykły plik dialoglayout.xml w folderze /layout, który może na przykład wyglądać tak:
W oparciu o taki szablon możemy budować UI swojego Dialogu. Warto wykorzystać dla tła jakąś grafikę. W tym przypadku do atrybutu background użyłem grafiki dialogbackground.9.png :
Dlaczego tak dziwna nazwa .9.png? W androidzie możemy wykorzystywać format Nine Patch, więcej tutaj. Grafika ma dwa cienkie czarne paski o szerokości 1px, które definiują w którą stronę tło będzie rozciągane. Taki sposób skalowania jest bezstratny dla jakości naszej grafiki. Dzięki temu oszczędzamy na wadze APK oraz nie martwimy się czy na telefonie o innej rozdzielczości wszystko będzie ładnie wyglądać :)
Teraz należy tylko zadeklarować nasz Dialog, nadać mu styl i layout, no i pokazać :]
Czytaj dalej/Read more!