даже с поддержкой Android В7, включенных в моем приложении
добавление
андроид:фон=то"?андроид:я достопри/selectableItemBackground&;
делает мой язь, затмение выдаст ошибку (не давая мне компиляции), мне сообщили, что selectableItemBackground только на минимальное API 11 и выше.
Как я могу добавить этот атрибут для фона в XML?
предположим, что копирование и вставка из более высокого библиотеки это не решение
Поскольку атрибут определен в библиотеке (поддержка В7), вы бы использовать его в качестве пользовательского атрибута: я.е без андроид
префикс:
android:background="?attr/selectableItemBackground"
Ошибки вы видите, указывая на то, что `?андроид:м/selectableItemBackground доступна для API версии >= 11. Правда, на самом деле.
Вот selectedItemBackground. Вы можете найти его в /platforms/android-14/data/res/themes.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_mediumAnimTime">
<item android:state_window_focused="false" android:drawable="@color/transparent" />
<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
<item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="true" android:drawable="@drawable/list_selector_background_focused" />
<item android:drawable="@color/transparent" />
</selector>
и вы можете найти рисунки в папке SDK для Android
../platforms/android-14/data
Не специалист по этому вопросу, но, похоже, вам нужна версия платформы на основе тематизации. Официальное руководство объясняет этот процесс довольно хорошо, я думаю.
Вы должны создавать различные XML-файлы для каждой версии и сохранять их в РЭС/значения-В7
, в res/значения-В11
и т. д. Затем использовать эти стили для ваших взглядов. Что-то вроде этого:
в РЭС/значения-В7
:
<style name="LightThemeSelector" parent="android:Theme.Light">
...
</style>
в РЭС/значения-В11
:
<style name="LightThemeSelector" parent="android:Theme.Holo.Light">
<item name="selectableItemBackground">?android:attr/selectableItemBackground</item>
...
</style>
Затем, используйте стиль для просмотра:
<TextView
style="@style/LightThemeSelector"
android:text="@string/hello" />
Надеюсь, что это помогает. Ура.