Mi sono chiesto più volte se esiste un modo per definire i colori in colors.xml
facendo riferimento a un altro colore che è stato definito. Beh, l'ho provato e, in effetti, sembra che tu possa fare riferimento ad altri colori usando @ color/XXX.Android: definizione dei colori facendo riferimento ad altri colori definiti
Per esempio uno di colors.xml potrebbe apparire come:
<?xml version="1.0" encoding="utf-8"?>
<resources>
…
<color name="primary_blue">#205081</color>
<color name="action_bar_text">@color/primary_blue</color>
…
</resources>
Ma io non voglio altri di usare direttamente la mia definizione primary_blue
- che non ha senso fare qualcosa di blu senza contesto. La soluzione migliore che ho trovato è quella di prefissare i colori 'diretti' come primary_blue
e quindi commentare che non dovrebbero essere usati direttamente.
C'è un modo per impedire l'uso di questi colori diretti, pur consentendo al mio file colors.xml di farvi riferimento? Sto pensando che forse gli stili o un apklib potrebbero aiutarmi.
Se si utilizza lo stesso colore in situazioni diverse rispetto a un "contesto", in realtà non ha alcun senso. Inoltre, se action_bar_color è accessibile, sarà il colore primary_blue. – Luksprog
Questo sarebbe davvero utile in quanto costringe buone pratiche di codifica. Peccato che non ci sia un modo per nascondere lo spazio dei nomi in xml. –