2011-09-19 19 views

Odpowiedz

46

Weź swój układ zewnętrzny (np. LinearLayout) i ustaw jego atrybut tła na kolor.

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

te kolory mogą być definiowane w pliku res/values/colors.xml (patrz here jak to zrobić).

Można również zdefiniować kolor bezpośrednio w atrybucie (android:background="#ffff0000"), ale zazwyczaj nie jest to dobre. Definiując kolory w pliku XML, można nadać mu opisową nazwę (poprawiającą czytelność kodu) i można go ponownie użyć w innym miejscu.


Edit:
Tam przykład w doc I połączone, ale tutaj jest krótki przykład jak to wygląda:

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

Jego zasadzie resources znaczników zawierających wiele color tagi. Każdy kolor ma atrybut name (którego używasz jako odniesienia do koloru) i rzeczywisty kolor. Jest to zdefiniowane między znacznikami kolorów na heksach. Zobacz dokumenty dotyczące możliwych formatów. Ten jest #AARRGGBB, gdzie A=alpha(przezroczystość), R=red, G=green i B=blue. Ten przykładowy plik zawiera pełny czerwony i pełny zielony kolor. Można się do nich odwoływać przez @color/red i @color/green.

+0

czy możesz pokazać mi, jak skonfigurować plik colors.xml? utworzyłem nowy plik xml, ale jak ustawić wartości kolorów? – gsfd

+0

Edytowano krótkie wyjaśnienie. :) –

2

należy wspomnieć, że ustawienie "android:background="#ffffffff"" nie działa, jeśli to zdanie zostanie zastosowane do dyrektywy uwzględniania.

np

<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" /> 

na "android:background" powinna być ustawiona w pliku układ module_printer_detail_property.

Powiązane problemy