In general, if you put "@android" in front of something, it means that you are looking for a resource defined in the android package, and not in your project.
For example, if you are trying to get color:
android:background="@android:color/holo_red_dark"
The result is the color Android holo_red_dark. You do not have this color defined in your project.
android:background="@color/my_red_color"
This will give you your "my_red_color" defined in your project.
The same goes for styles.
EDIT: The thing is, between
parent="@style/MyStyle"
and
parent="MyStyle"
for the style compiled in your project. You could just write
<style name="Widget.AppCompat.ActionBar.TabText" parent="@style/Base.Widget.AppCompat.ActionBar.TabText">
and it will work.
Thus, considering that Base.Widget.AppCompat.ActionBar.TabText compiled in your design form in the support library, you can add it with @style as a prefix or without it. However, @android:style/TextAppearance is in the Android package, so you need to specify @android: as the prefix.
Hopefully now clear.
source share