В моем приложении для Android у меня есть две разные темы (светлые и темные). Например:Различные стили для не всех просмотров
<style name="AppThemeDark" parent="Theme.AppCompat">
<item name="colorPrimary">@android:color/black</item>
<item name="colorPrimaryDark">@android:color/black</item>
<item name="colorAccent">@android:color/holo_red_dark</item>
<item name="android:textColor">@android:color/white</item>
<item name="windowActionModeOverlay">true</item>
</style>
<style name="AppThemeLight" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionModeOverlay">true</item>
</style>
Итак, теперь я могу применить, например, различные цвета текста в TextView (белый для темной темы и черный для света):
<item name="android:textViewStyle">@style/TextViewDark</item>
<style name="TextViewDark">
<item name="android:textColor">?android:attr/colorAccent</item>
</style>
Но это будет применяться к все TextViews.
Главный вопрос, можно ли сделать в XML (не программно) следующий:
Light Тема: Половина цвета TextViews текста черный, а другая половина зеленого цвета. Черная тема: TextViews, что черная в свете тема - красный, а еще одна половина - синяя (которые являются зелеными в свете темы).
Спасибо! Я не знал, что можно создавать свои собственные атрибуты. Это именно то, что я искал. – kara4k