2013-08-03 32 views
21

Jak ustawić kolor tła mojej aplikacji na Androida. Gdy próbuję:Ustaw kolor tła: Android

LinearLayout li=(LinearLayout)findViewById(R.id.myLayout); 
li.setBackgroundColor(Color.parseColor("#rrggbb")); 

Moja aplikacja zawsze zawiesza się. Czy ktoś może mi pomóc? Dzięki

+0

dlaczego się zawiesza? co mówi logcat? Uważam, że wynika to z czegoś innego, jak na przykład, czy ustawiłeś układ swojej aktywności za pomocą metody 'setContentView'? –

+1

Czy używasz 'Color.parseColor (" # rrggbb ")'? Powinieneś użyć hexa: –

Odpowiedz

38
Color.parseColor("#rrggbb") 

zamiast #rrggbb należy używać Szesnastkowego 0 do F rr GG BB:

np Color.parseColor("#000000") lub Color.parseColor("#FFFFFF")

Source

Z dokumentacji:

public static int parseColor (String colorString):

Analizować ciąg kolorów i powrót odpowiedniego koloru int. Jeśli ciąg znaków nie może zostać przeanalizowany, zgłasza wyjątek IllegalArgumentException. Obsługiwane formaty to: #RRGGBB #AARRGGBB "czerwony", "niebieski", "zielony", "czarny", "biały", "szary", "cyjan", "magenta", "żółty", "jasno szary", "darkgray", "grey", "lightgrey", "darkgrey", "aqua", "fuschia", "lime", "maroon", "navy", "olive", "purple", "silver", 'morski'

Więc wierzę, że jeśli używasz #rrggbb otrzymujesz IllegalArgumentException w LogCat

Source

Alternatywa:

Color mColor = new Color(); 
mColor.red(redvalue); 
mColor.green(greenvalue); 
mColor.blue(bluevalue); 
li.setBackgroundColor(mColor); 

Source

6

Spróbuj tego:

li.setBackgroundColor(android.R.color.red); //or which ever color do you want 

EDIT: Wysyłanie pliku logcat również pomóc.

+0

mainLayout.setBackgroundColor (getResources(). GetColor (android.R.color.black)); – fullMoon

13

To pytanie jest stary, ale może pomóc dla innych też.

Spróbuj tego:

li.setBackgroundColor(getResources().getColor(R.color.blue)); 

    or 

    li.setBackgroundColor(getResources().getColor(android.R.color.red)); 

    or 

    li.setBackgroundColor(Color.rgb(226, 11, 11)); 


    or 
    li.setBackgroundColor(Color.RED) 
0

Nawiasem mówiąc, dobra wskazówka na szybko wybierając kolor na nowszych wersjach AS jest po prostu wpisać #fff a następnie za pomocą próbnika kolorów na stronie kodu do wybierz ten, który chcesz. Szybsze i łatwiejsze niż zapamiętanie wszystkich kolorowych heksadecymali. Na przykład:

android:background="#fff"