А вот еще одна сложность!
Используя атрибуты стили успешно отрабатывают, но появилась задача поменять картинку под кнопкой в процессе работы программы - программно.
Т.е. к примеру кнопка может иметь 3 вида
1 - стандартное изображение
2 - кнопка в состоянии 1
3 - кнопка в состоянии 2
При запуске кнопка получает картинку стандартного изображения, в зависимости от выбранного стиля. Далее требуется по получению определенного флага изменить вид кнопки на один из 3-х вариантов (см. выше).
Если использовать setImageResource, то нужно указывать конкретный ресурс картинки, а как указать атрибут не понимаю, возможно нужно использовать другую команду а вот какую пока не нашел!
Есть 3 атрибута
[syntax=java]<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="btn_standard_App" format="reference" />
<attr name="btn_selector_orders_App" format="reference" />
<attr name="btn_selector_no_orders_App" format="reference" />
</resources>
[/syntax]
есть нужные селекторы картинок, типа такого:
[syntax=java]<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="
http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/dark_btn_standart_push" />
<item android:drawable="@drawable/dark_btn_standart" />
</selector>
[/syntax]
есть 2-а стиля :
[syntax=java]<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="style_btn_standard_dark">
<item name="android:background">@drawable/btn_standard_dark</item>
</style>
<style name="style_btn_selector_orders_dark">
<item name="android:background">@drawable/btn_selector_orders_dark</item>
</style>
<style name="style_btn_selector_no_orders_dark">
<item name="android:background">@drawable/btn_selector_no_orders_dark</item>
</style>
<style name="style_btn_standard">
<item name="android:background">@drawable/btn_standard</item>
</style>
<style name="style_btn_selector_orders">
<item name="android:background">@drawable/btn_selector_orders</item>
</style>
<style name="style_btn_selector_no_orders">
<item name="android:background">@drawable/btn_selector_no_orders</item>
</style>
<style name="LightFontTheme">
<item name="btn_standard_App">@style/style_btn_standard</item>
<item name="btn_selector_orders_App">@style/style_btn_selector_orders</item>
<item name="btn_selector_no_orders_App">@style/style_btn_selector_no_orders</item>
</style>
<style name="DarkFontTheme">
<item name="btn_standard_App">@style/style_btn_standard_dark</item>
<item name="btn_selector_orders_App">@style/style_btn_selector_orders_dark</item>
<item name="btn_selector_no_orders_App">@style/style_btn_selector_no_orders_dark</item>
</style>
</resources>
[/syntax]
вот сам примерный лайоут
[syntax=java]<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:gravity="center" android:padding="2.0dip" android:layout_width="fill_parent" android:layout_height="68.0dip"
xmlns:android="
http://schemas.android.com/apk/res/android">
<ImageView android:id="@id/ItemBackground" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="?attr/btn_standard_App" android:scaleType="fitXY" />
</RelativeLayout>
[/syntax]
может есть какие то мысли ???