Разница между "selectableItemBackground", "android:selectableItemBackground" и "android:attr/selectableItemBackground в Android"
В чем разница между:
android:background="?selectableItemBackground"
android:background="?attr/selectableItemBackground"
android:background="?android:selectableItemBackground"
android:background="?android:attr/selectableItemBackground"
в Android?
2 ответа
Вот,
android:background="?selectableItemBackground"
является ссылкой на атрибут из библиотеки appCompat, поэтому она применяется к более старым версиям Android и не нуждается в префиксе Android.
android:background="?android:selectableItemBackground"
Это атрибут, предоставляемый платформой, которая может не поддерживать более старые версии Android, но только из представленной версии.
android:background="?android:attr/selectableItemBackground"
Здесь использование атрибута относится к атрибуту, определенному для текущей темы. т. е. если у вас установлена тема приложения для облегченной версии, то будет применен selectableItemBackground из светлой темы.
И вы можете определить свои собственные значения, которые могут быть доступны без использования префикса Android.
Все они делают одну и ту же работу. Единственное отличие состоит в том, что префикс android предназначен для android 3.0 и выше, и если вы хотите использовать тот же атрибут для android 2.3 и ниже, вы должны удалить префикс android. Спасибо