9

Sto lavorando su un esempio su libreria di supporto e barra degli strumenti, questo è il codice del layout sulla documentazione AndroidCosa significa? Attr/mean su Android?

<android.support.v7.widget.Toolbar 
    android:id="@+id/my_toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:elevation="4dp" 
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> 

E 'la prima volta che vedo questi ?attr e non ho idea di che cosa significano o dove sono memorizzati questi valori. Queste sono personalizzate o sono predefinite nel framework Android?

Riferimento: Android Toolbar Documentation

risposta

9

?attr/ riferimenti a attributi. Gli attributi sono valori specificati nel tema delle tue app. Tali attributi specifici nell'esempio sono tutti i valori specificati nei temi forniti dalla libreria di supporto. Anche Android ha i suoi attributi e possono essere utilizzati da ?android:attr/.

In alcuni casi, è consigliabile utilizzare valori di attributo anziché valori direttamente in quanto consente una facile personalizzazione. Ad esempio, quando crei viste personalizzate, puoi utilizzare ?attr/colorAccent in modo che l'utente della vista non debba fornire un colore e utilizzerà invece lo colorAccent utilizzato nei temi dell'app.