Stworzyłem więc podklasę Działanie o nazwie CustomTitlebarActivity. Zasadniczo każde główne działanie w mojej aplikacji będzie miało niestandardowy pasek tytułu z wieloma typowymi funkcjami, takimi jak przycisk strony głównej, tytuł, przycisk wyszukiwania itp. W mojej obecnej implementacji nadal wyraźnie używam instrukcji include w układzie XML dla każdy CustomTitlebarActivity:Android programowo zawiera układ (tzn. Bez XML)
<include layout="@layout/titlebar" />
wydaje się naturalne, że powinienem być w stanie to zrobić w ciągu CustomTitlebarActivity. Mam dwa pytania: jaki kod może zastąpić ten znacznik i gdzie powinienem umieścić kod? (Moim pierwszym instynktem byłoby umieszczenie go w metodzie setContentView CustomTitlebarActivity).
Chciałbym poznać lepszy sposób ponownego wykorzystania kodu Androida UI (nawet jeśli per se, paski tytułowe muszą się nieco różnić między sobą). działania).
Ta konfiguracja załatwiła sprawę, eksperymentuję z nią więcej. Jakieś dobre pomysły na to, jak pozwolić na różne rozmieszczenie przycisków akcji na tym pasku tytułowym? –
To zależy, ale jeśli istnieje ograniczona liczba dość przewidywalnych dostosowań (jeden lub dwa niestandardowe przyciski/akcje), prawdopodobnie utknęłbym w "abstrakcyjnej metodzie zastąpionej przez podklasy, aby uzyskać obraz do użycia i działania" (np. streszczenie getFirstActionImageResourceId(), onFirstActionClicked()) i po prostu podłącz je do klasy onCreate() klasy podstawowej. –