Я хочу установить источник изображения ImageView на основе текущей темы.У меня определены две темы, и у каждой есть значок для ImageView.
У меня есть следующие параметры в themes.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Android">
<item name="tabIconContacts">@style/tabContacts_Android</item>
</style>
<style name="Theme.Earthy">
<item name="tabIconContacts">@style/tabContacts_Earthy</item>
</style>
</resources>
в attr.xml
:
<attr name="tabIconContacts" format="reference" />
и следующее в styles.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="tabContacts_Earthy">
<item name="android:src">@drawable/theme1_tab_contacts</item>
</style>
<style name="tabContacts_Android">
<item name="android:src">@drawable/theme2_tab_contacts</item>
</style>
</resources>
, и я применяю его с setTheme()
в верхней части onCreate()
.Настройка фонового изображения для ресурсов, определенных в XML, работает нормально.Я изо всех сил пытаюсь найти хороший способ установки изображения в следующем коде:
LayoutInflater li = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View tabIndicator = li.inflate(R.layout.tab_indicator, mTabHost.getTabWidget(), false);
ImageView iconView = (ImageView) tabIndicator.findViewById(R.id.icon);
iconView.setImageResource( R.style.tabIconContacts ));
Можно ли таким способом поменять ресурсы для рисования?Я нашел много статей, в которых упоминается obtainStyledAttributes
, но, похоже, они не относятся к этой ситуации.
Я также не могу установить изображение в определении XML tab_indicator, потому что значок меняется с каждымвкладка и каждая тема (всего около 12 иконок).
Любая помощь будет принята с благодарностью.