In generale, se si mette "@android" di fronte a qualcosa, vuol dire che siete alla ricerca di una risorsa definita in Android pacchetto, non nel tuo progetto.
Per esempio, se si sta cercando di ottenere un colore:
android:background="@android:color/holo_red_dark"
In questo modo ottenere il colore holo_red_dark Android. Non hai questo colore definito nel tuo progetto.
android:background="@color/my_red_color"
Questo otterrà il "mio_ro_color" definito nel progetto.
Lo stesso vale per gli stili.
EDIT: La cosa è che non c'è alcuna differenza tra
parent="@style/MyStyle"
e
parent="MyStyle"
per uno stile compilato nel progetto. Potresti anche scrivere
<style name="Widget.AppCompat.ActionBar.TabText" parent="@style/Base.Widget.AppCompat.ActionBar.TabText">
e funzionerebbe.
Pertanto, tenendo conto che il modulo di progetto Base.Widget.AppCompat.ActionBar.TabText
è compilato nella libreria di supporto, è possibile aggiungerlo con @style
come prefisso o senza. Tuttavia, @android:style/TextAppearance
proviene dal pacchetto Android ed è per questo che devi specificare @android:
come prefisso.
spero sia chiaro ora
sì questa è la differenza tra \ @android: style e \ @style, ma sto cercando la differenza tra parent = "\ @ style/TextAppearance" e parent = "TextAppearance" – wutzebaer
ok significa che non vi è alcuna differenza né aggiungendo il \ @stato prefisso all'attributo padre o no? – wutzebaer
Sì - solo quando lo stile di riferimento è definito nel progetto (da te, dallo sviluppatore o in qualsiasi libreria che hai aggiunto - in questo caso, la libreria di supporto). – DDsix