Difference between ?selectableItemBackground, ?android:selectableItemBackground and ?android:attr/selectableItemBackground in Android?
Asked Answered
E

2

22

What is the difference between:

android:background="?selectableItemBackground"

android:background="?attr/selectableItemBackground"

android:background="?android:selectableItemBackground"

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

in Android?

Esoterica answered 28/9, 2015 at 9:15 Comment(0)
I
42

Here,

android:background="?selectableItemBackground"

is attribute reference from appCompat library so it is applied to older versions of android and doesn't need android prefix.

android:background="?android:selectableItemBackground"

is attribute provided by platform which may not support older android versions but only from version they are introduced.

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

Here use of attr applies to the attribute defined for current theme. i.e if you have your application theme set for light version then selectableItemBackground of light theme will be applied.

And you can define your own values which can be accessed without using android prefix.

Inflect answered 28/9, 2015 at 9:29 Comment(1)
Thanks, @subhash. Can you provide the link to the documentation?Surrounding
E
-1

They all do the same work. The only difference is that android prefix is for android 3.0 and above and if you want to use the same attribute for android 2.3 and below you have to remove the android prefix. Thanks

Existence answered 28/9, 2015 at 9:18 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.