Używam własnej biblioteki. W tej bibliotece mam zdefiniowane pewne zasoby:Zastąp zasoby w bibliotece Android
colors.xml (Library)
<color name="colorPrimary">#000000</color>
w mojej aplikacji (który wykorzystuje bibliotekę powyżej). Chcę zastąpić podstawowy kolor.
colors.xml (app)
<color name="colorPrimary">#ffffff</color>
I rzeczywiście chcą przesłonić tego atrybutu tak, że biblioteka (i mój app) używać overrided jeden, a nie deklarowana jeden z biblioteki. Działa dobrze, ale Android Studio ciągle krzyczy: "Zastąpienie @ color/colorPrimary, które jest oznaczone jako prywatne w my_lib. Jeśli celowe, użyj narzędzi: override =" true ", w przeciwnym razie wybierz inną nazwę". To sprawia, że myślę, że to nie jest dobre podejście.
Staram się też dodawać narzędzi: przesłonić = "true" do zasobu:
<resources xmlns:tools="http://schemas.android.com/tools"
tools:override="true">
ale ostrzeżenie nadal.
Czy coś jest nie w porządku z tym, co robię? Nie mogę wybrać innej nazwy, ponieważ chcę, aby biblioteka używała nadpisanych wartości.
Używam wersji Androida 2.1.1 i wersji 2.1.0.
Dzięki.
jak dodać atrybut "override" do elementu koloru. –
Masz rację, umieszczenie atrybutu override dla każdego znacznika koloru działa zgodnie z oczekiwaniami. W każdym razie, czy istnieje sposób na zastosowanie atrybutu override dla wszystkich tagów kolorów bez ręcznego ustawiania dla każdego tagu? – Paul