I know the definition of difference between XML attribute starting with @
and ?
. The first one refers to global style attribute, while the second one applies to the same attribute within the concrete style. In short.
However, I am still not firm on when to use one or another qualifier. Namely, what is the difference between
android:textAppearance="?android:attr/textAppearanceLarge"
android:textAppearance="@android:style/TextAppearance.Large"
This is the same attribute, right?!
Then, why there is
android:textColor="@android:color/black"
and there is not anything like
android:textColor="?android:color/black" (or similar variance)
Lastly, is the usage of ?
the same as using an attribute from DeviceDefault
group?
I hope someone will be able to clarify these things for me. I am sure I am over-complicating things and that is why I need clarification.