Sto provando il nuovo Android Databinding Library e volevo impostare il colore di sfondo della barra degli strumenti utilizzando un'associazione. Di default il colore dovrebbe essere colorPrimary (dal tema).Associazione dati con gli attributi del tema
Prima usavo DataBinding, toolbar sembrava
<android.support.v7.widget.Toolbar
android:id="@+id/mainToolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
/>
Dopo l'aggiunta di un legante, ho voluto impostare il suo sfondo di colorPrimary se nessun colore è legato - sto usando operatore ternario per questo (come menzionato nella guida) - ma causa un errore, poiché gli attributi del tema hanno anche un "?" operatore prima dei loro nomi. Il compilatore pensa che sto iniziando una nuova operazione ternaria.
Quindi è possibile accedere agli attributi del tema all'interno di un'operazione di associazione? Grazie!
Modifica
so di poter ottenere l'attributo di codice il colorPrimary e associarlo con il codice java. Ma mi stavo chiedendo se c'è una soluzione basata su Xml per questo o no.
Siamo spiacenti, non abbiamo ancora il supporto per gli attributi del tema. Come soluzione alternativa, è possibile definirlo come valore di una risorsa colore e utilizzarlo nel ternario tramite @ color/colorPrimary. – yigit
Oh, ok. Proverò il workaround del valore della risorsa. Grazie –
Ha funzionato? utilizzandolo come '? android: attr/textColorPrimary ' –
subhash