Подтвердить что ты не робот

Разница между? SelectableItemBackground,? Android: selectableItemBackground и? Android: attr/selectableItemBackground в Android?

В чем разница между:

android:background="?selectableItemBackground"

android:background="?attr/selectableItemBackground"

android:background="?android:selectableItemBackground"

android:background="?android:attr/selectableItemBackground" 

в Android?

4b9b3361

Ответ 1

Здесь

android:background="?selectableItemBackground"

является ссылкой на атрибут из библиотеки appCompat, поэтому она применяется к более старым версиям android и не требует андроидного префикса.

android:background="?android:selectableItemBackground"

- атрибут, предоставляемый платформой, которая может не поддерживать старые версии Android, но только с версии, которую они вводят.

android:background="?android:attr/selectableItemBackground"

Здесь использование attr применяется к атрибуту, определенному для текущей темы. Если у вас есть тема вашего приложения, установленная для легкой версии, тогда будет выбрана опция selectTableBackground из легкой темы.

И вы можете определить свои собственные значения, к которым можно получить доступ, не используя префикс android.

Ответ 2

Все они выполняют ту же работу. Единственное отличие заключается в том, что префикс для Android для Android 3.0 и выше, и если вы хотите использовать тот же атрибут для Android 2.3 и ниже, вам нужно удалить префикс android. Благодаря