Mam do czynienia z problemem i próbowałem na kilka sposobów, aby stawić mu czoła, wciąż nieskuteczne.Kolor tła kontekstowego/przesłaniania
Moja aplikacja wykorzystuje wiele tematów, takich jak: Halloween, Chirstmas, itp. I używam niektórych atrybutów kolorów na widżecie, takim jak tło TabLayout, Kolor tekstu itp., Aby kontekstualizować aplikację.
Pytanie brzmi: Jak używać tych samych atrybutów kolorów z różnymi wartościami w zależności od kontekstu kompozycji?
Więc w zasadzie tu jest normalne sposoby zadeklarować kolory:
<color name="mapMarkerSelectedTextColor">@android:color/white</color>
<color name="mapLoadingIndicatorColor">@color/white</color>
Ale motyw i kolory są niezmienne więc pomyślałem, może zastąpić te kolory wewnątrz każdego z tematów takich jak:
<item name="mapMarkerUnselectedTextColor">@color/christmas_red</item>
<item name="mapMarkerSelectedTextColor">@color/white</item>
=> nieudana
Inne ołów, zadeklarować te kolory jako atrybuty:
<attr name="mapLoadingIndicatorColor" format="reference|color" />
<attr name="map_autocomplete_accent_color" format="reference|color" />
I użyj motywu w moim XML w ten sposób: "?attr/mapLoadingIndicatorColor
". Ale ta funkcja jest dozwolona tylko od wersji Lollipop i powoduje awarie wcześniej.
Wiele czytałem na temat dostosowywania kompozycji, nadpisywania kolorów, ale nigdy nie znalazłem jednoznacznego rozwiązania tej sytuacji.
Dzięki i tak.