2011-09-19 19 views

risposta

46

Prendi il layout esterno (ad esempio a LinearLayout) e imposta l'attributo di sfondo a un colore.

<LinearLayout android:background="@color/mycolor" 
       .... /> 

Questi colori possono essere definiti nel file di res/values/colors.xml(vedi here come farlo).

È inoltre possibile definire un colore direttamente all'attributo (android:background="#ffff0000"), ma in genere non è buono. Definendo i colori nel file XML è possibile assegnargli un nome descrittivo (migliora la leggibilità del codice) ed è possibile riutilizzarlo da qualche altra parte.


Edit:
Theres un esempio nel documento ho linkato, ma ecco un breve esempio di come appare:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="red">#ffff0000</color> 
    <color name="green">#ff00ff00</color> 
</resources> 

sua fondamentalmente un resources tag contenenti più color tag. Ogni colore ha un attributo name (che si utilizza per fare riferimento al colore) e un colore effettivo. Questo è definito tra i tag dei colori in esadecimale. Vedi i documenti per possibili formati. Questo è #AARRGGBB, dove A=alpha(trasparenza), R=red, G=green e B=blue. Questo file di esempio contiene un rosso pieno e un colore verde completo. Possono essere referenziati tramite @color/red e @color/green.

+0

puoi mostrarmi come impostare un file colors.xml? ho creato un nuovo file xml ma come faccio a impostare i valori del colore? – gsfd

+0

Modificato una breve spiegazione. :) –

2

c'è una cosa da ricordare è che l'impostazione "android:background="#ffffffff"" non funziona se questa frase viene applicata a una direttiva di inclusione.

per esempio,

<include 
    android:id="@+id/fragment_printer_detail_property_group" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_marginBottom="@dimen/printer_detail_group_vertical_margin" 
    android:layout_marginLeft="@dimen/printer_detail_group_horizontal_margin" 
    android:layout_marginRight="@dimen/printer_detail_group_horizontal_margin" 
    android:layout_marginTop="@dimen/printer_detail_group_vertical_margin" 
    layout="@layout/module_printer_detail_property" 
    android:background="@color/module_printer_detail_group_background_color" /> 

il "android:background" dovrebbe essere impostato nel file di layout di module_printer_detail_property.

Problemi correlati