Jak zmienić kolor tła w aplikacji na Androida

253

Chcę mieć możliwość zmiany koloru tła na biały w mojej aplikacji na Androida w najprostszy możliwy sposób.

Ryan
źródło

Odpowiedzi:

348

Musisz użyć właściwości android: background, np

android:background="@color/white"

Musisz także dodać wartość bieli w strings.xml

<color name="white">#FFFFFF</color>

Edycja: 18 listopada 2012 r

Pierwsze dwie litery 8-literowego kodu koloru podają wartość alfa, jeśli używasz 6-literowej notacji html, kolor jest nieprzezroczysty.

Np .:

wprowadź opis zdjęcia tutaj

Ravi Vyas
źródło
@Jonny dwie pierwsze litery podają wartość alfa.
Ravi Vyas
Dziękuję, ale czy nie jest łatwiej po prostu użyć wartości szesnastkowej?
the_prole
byłoby bardzo łatwo, ale zła praktyka :)
Ravi Vyas
3
Jest jeszcze łatwiejszy w użyciu, android:background="@android:color/white"który jest predefiniowany i nie wymaga dodawania niczego do strings.xml.
Greg Hewgill
Czy możesz dodać lokalizację /res/layout/activity_main.xmldodania elementu android:backgrounddo odpowiedzi?
030
157

Możesz także użyć

android:background="#ffffff"

w układzie xml /res/layout/activity_main.xmllub możesz zmienić motyw w pliku AndroidManifest.xml, dodając

android:theme="@android:style/Theme.Light"

do tagu aktywności.

Jeśli chcesz dynamicznie zmieniać tło, użyj

YourView.setBackgroundColor(Color.argb(255, 255, 255, 255));
James
źródło
To właściwa odpowiedź, ponieważ, jak sądzę, ma tematy. One-liner NIE jest najprostszym sposobem, ale jest sposobem na rozprzestrzenienie całego stylu na wszystko. Style to sposób na osiągnięcie jednej linii przy nawet skomplikowanych zmianach. Ponadto style działają na preferencjach, w przeciwieństwie do ogólnych atrybutów. (choć nadal z kilkoma dziwactwami)
Stephen J
60

Najprostszy sposób

android:background="@android:color/white"

Nie musisz niczego definiować. Używa predefiniowanych kolorów w android.R.

Paschalis
źródło
7
i programowo:context.getResources().getColor(android.R.color.white)
Paschalis
1
dzięki, właśnie tego szukałem. W moim przypadku muszę to zrobić w Javie.
Armfoot
10

Aby zmienić kolor tła w najprostszy możliwy programowo (wyłącznie - bez zmian XML):

LinearLayout bgElement = (LinearLayout) findViewById(R.id.container);
bgElement.setBackgroundColor(Color.WHITE);

Jedynym wymaganiem jest to, aby element „podstawowy” w pliku activity_whthing.xml miał identyfikator, do którego można odwoływać się w Javie ( containerw tym przypadku):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/container"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
     ...
</LinearLayout>

Paschalis i James, którzy tutaj odpowiedzieli, w pewnym sensie doprowadzili mnie do tego rozwiązania, po sprawdzeniu różnych możliwości w Jak ustawić kolor tekstu TextView w kodzie? .

Mam nadzieję, że to komuś pomaga!

Stopy
źródło
4

Ta metoda działała dla mnie:

RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.layout.rootLayout);
relativeLayout.setBackgroundColor(getResources().getColor(R.color.bg_color_2));

Ustaw identyfikator w układzie xml

xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rootLayout"
android:background="@color/background_color"

Dodaj wartości kolorów / color.xml

<color name="bg_color_2">#ffeef7f0</color>
Felix Cruz
źródło
3

Najprostszym sposobem jest dodanie android:background="#FFFFFF"do głównego węzła w pliku layout.xml lub /res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
   <TextView xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:padding="10dp"
       android:textSize="20sp" 
       android:background="#FFFFFF">
   </TextView>
Lo Juego
źródło
To nie jest dobry pomysł, ponieważ spowoduje niepotrzebne przerysowanie GPU (najpierw zostanie narysowane tło okna, a następnie tło TextView). Zobacz: curious-creature.com/docs/android-performance-case-study-1.html
Miloš Černilovský
3

Najlepszym sposobem na użycie tła z gradientem, ponieważ nie zwiększa on rozmiaru aplikacji, są trucizny dla aplikacji na Androida, więc spróbuj użyć go mniej zamiast jednego koloru jako tła, możesz użyć wielu kolorów na jednym tle. wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutajwprowadź opis zdjęcia tutaj

Najaf Ali
źródło
2

Możesz spróbować w xmlarkuszu:

android:background="@color/background_color"
ashwini
źródło
1

W układzie, aby zmienić tło, użyj tego.

android:background="@color/your_color"

W Programie można użyć tego. Na przykład: Kolor tła Texview

 TextView tvName = (TextView) findViewById(R.id.tvName);
 tvName.setBackgroundColor(getResources().getColor(R.color.your_color));
Sarath VK
źródło
0

możesz spróbować w ten sposób

android:background="@color/white"
Kumar
źródło
0

Innym sposobem jest przejście do układu -> plik .xml -> widok projektu. Następnie przejdź do drzewa komponentów i wybierz układ, który chcesz zmienić kolor. W poniższym drzewie komponentów znajduje się sekcja właściwości. Wybierz tło w sekcji właściwości (w sekcji obraz 1). Następnie kliknij sekcję 2 na obrazku. Następnie otworzy się okno Zasoby. Z tego menu wybierz kolor. Następnie wybierz żądany kolor . wprowadź opis zdjęcia tutaj

RoshanS
źródło
0

Możesz użyć prostych zasobów kolorów, które zwykle są określone w środku

res/values/colors.xml.

posługiwać się

<color name="red">#ffff0000</color>

i użyj tego przez android:background="@color/red". Ten kolor może być również używany gdziekolwiek indziej, np. Jako kolor tekstu. Odwołaj się do niego w XML w ten sam sposób lub pobierz za pomocą kodu

getResources().getColor(R.color.red).

Możesz także użyć dowolnego zasobu do rysowania jako tła, użyj android:background="@drawable/mydrawable"do tego (to znaczy 9-częściowych drawables, normalne bitmapy, drawable kształtów, ...).

Fokaloid
źródło
0

Czasami tekst ma ten sam kolor co tło, spróbuj na Androidzie: background = "# CCCCCC" we właściwościach widoku listy i zobaczysz to.

Ingeniería Ceet
źródło
0

android: background = "# 64B5F6"
Możesz zmienić wartość po '#' zgodnie z własną specyfikacją lub potrzebujesz w zależności od tego, jak chcesz z nich korzystać.
Oto przykładowy kod:

<TextView
        android:text="Abir"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="24sp"
        android:background="#D4E157"  />

Dziękuję Ci :)

ranit
źródło
0
  1. przejdź do Activity_Main.xml
  2. jest widok projektu / i widok tekstu.
  3. wybierz Widok tekstu
  4. napisz ten kod:

    android:background="@color/colorAccent"
Mohamed Seda
źródło
0

Jeśli chcesz dodać kolor tła do całej aktywności

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#1de9b6"
    tools:context="com.example.abc.myapplication.MainActivity">
 </RelativeLayout>

Jeśli chcesz użyć tła dla widoku

 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Andrios"
    android:background="@color/colorAccent" />

Mam nadzieję że to pomoże!

Tharini Krishnan
źródło
0

Ten kod może być dla Ciebie przydatny:

android:background="#fff"
ebnesina
źródło
0

Chcę mieć możliwość zmiany koloru tła na biały w mojej aplikacji na Androida w najprostszy możliwy sposób.

Pytanie brzmi: najprostszy sposób, więc oto jest.

Ustaw parentViewStylewe wszystkich widokach nadrzędnych. Podobnie jak większość nadrzędnych widoków Twojej aktywności, fragmentów i okien dialogowych.

<LinearLayout style="@style/parentViewStyle">

  ... other components inside

</LinearLayout>

Po prostu włóż ten styl do środka res>values>styles.xml

<style name="parentViewStyle">
    <item name="android:layout_height">match_parent</item>
    <item name="android:layout_width">match_parent</item>
    <item name="android:background">@color/white</item> // set your color here.
    <item name="android:orientation">vertical</item>
</style>

W ten sposób nie będziesz musiał wielokrotnie zmieniać koloru tła w przyszłości.

Khemraj
źródło
0

Dla Kotlina i nie tylko podczas pisania

@kolor/

możesz wybrać, co chcesz, szybko i prosto:

android:background="@color/md_blue_900"
Alessandro Ornano
źródło