Я уверен, что на этот вопрос уже был дан ответ. Это просто кажется слишком распространенным явлением. Но я не могу найти ответ. Я также не могу понять решение.
Здесь проблема:
Я хочу, чтобы у одного из моих TableRow был другой цвет фона. Это просто, мне просто нужно добавить
android:background="#123456"
В XML-декларации TableRow. Но я также хочу, чтобы в моем приложении было две темы. В другой теме TableRow должен иметь разный цвет фона. Я просто не могу найти способ определить значение цвета внутри темы и использовать его. Я бы хотел напечатать что-то вроде этого:
<style name="Theme.MyApp" parent="@style/Theme.Light">
<color "my_cool_color">#123456</color>
</style>
<style name="Theme.MyApp.Dark" parent="@style/Theme.Dark">
<color "my_cool_color">#654321</color>
</style>
И в объявлении TableRow:
android:background="@color/my_cool_color"
Итак, когда я меняю тему, цвет этого фона TableRow также изменяется. Я пробовал много раз в течение многих часов и не добился успеха... Одна вещь, которую я не пробовал, создавал мой собственный виджет на основе TableRow и декларировал для него отдельный стиль - я думаю, что это должно работать, но это просто слишком тяжелое решение для столь простой проблемы.