Come cambiare il colore di sfondo nell'app Android


253

Voglio essere in grado di cambiare il colore di sfondo in bianco nella mia app Android nel modo più semplice possibile.

Risposte:


348

È necessario utilizzare la proprietà android: background, ad es

android:background="@color/white"

Inoltre è necessario aggiungere un valore per il bianco in strings.xml

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

Modifica: 18 novembre 2012

Le prime due lettere di un codice colore di 8 lettere forniscono il valore alfa, se stai usando la notazione html a 6 lettere il colore è opaco.

Per esempio :

inserisci qui la descrizione dell'immagine


@Jonny le prime due lettere forniscono il valore alfa.
Ravi Vyas,

Grazie, ma non è più semplice usare il valore esadecimale?
the_prole,

sarebbe molto facile, ma cattiva pratica :)
Ravi Vyas il

3
È ancora più facile da usare, android:background="@android:color/white"che è predefinito e non richiede di aggiungere nulla a strings.xml.
Greg Hewgill,

Potresti aggiungere la posizione /res/layout/activity_main.xmlper aggiungere l'elemento android:backgroundalla risposta?
030,

157

Puoi anche usare

android:background="#ffffff"

nel layout xml oppure /res/layout/activity_main.xml, oppure puoi cambiare il tema in AndroidManifest.xml aggiungendo

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

al tag attività.

Se si desidera modificare dinamicamente lo sfondo, utilizzare

YourView.setBackgroundColor(Color.argb(255, 255, 255, 255));

Questa è la risposta giusta perché ha dei temi, credo. Un one-liner NON è il modo più semplice, ma è un modo per diffondere un intero stile a tutto. Gli stili sono il modo in cui raggiungi una linea con cambiamenti anche complessi. Inoltre, gli stili funzionano sulle preferenze, a differenza degli attributi generali. (anche se ancora con alcune stranezze)
Stephen J

60

Il modo più semplice

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

Non c'è bisogno di definire nulla. Utilizza colori predefiniti in android.R.


7
e programmaticamente:context.getResources().getColor(android.R.color.white)
Paschalis,

1
grazie, era proprio quello che stavo cercando. Nel mio caso, devo farlo in Java.
Armfoot,

10

Per modificare il colore di sfondo nel modo più semplice possibile a livello di codice (esclusivamente - nessuna modifica XML):

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

L'unico requisito è che l'elemento "base" in activity_whatever.xml abbia un ID a cui puoi fare riferimento in Java ( containerin questo caso):

<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 e James, che hanno risposto qui, in qualche modo mi portano a questa soluzione, dopo aver verificato le varie possibilità in Come impostare il colore del testo di TextView nel codice? .

Spero che aiuti qualcuno!


4

Questo metodo ha funzionato per me:

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

Imposta ID nel layout 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"

Aggiungi valori di colore / color.xml

<color name="bg_color_2">#ffeef7f0</color>

3

Il modo più semplice è aggiungere android:background="#FFFFFF"al nodo principale in layout.xml o /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>

Questa non è una buona idea, perché comporterà un inutile sovraccarico della GPU (prima verrà disegnato lo sfondo della finestra e poi lo sfondo del TextView sopra di esso). Vedi: curious-creature.com/docs/android-performance-case-study-1.html
Miloš Černilovský

3

Il modo migliore di utilizzare lo sfondo con gradiente in quanto non aumenta le dimensioni dell'app delle immagini dell'app è il veleno per l'app Android, quindi prova a usarlo meno invece di utilizzare un colore come sfondo, puoi utilizzare più colori in uno sfondo. inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagineinserisci qui la descrizione dell'immagine


2

Puoi provare questo nel xmlfoglio:

android:background="@color/background_color"

1

In Layout, per cambiare lo sfondo usa questo.

android:background="@color/your_color"

Nel programma può essere utilizzato questo. Ad esempio: colore di sfondo Texview

 TextView tvName = (TextView) findViewById(R.id.tvName);
 tvName.setBackgroundColor(getResources().getColor(R.color.your_color));

0

puoi provare in questo modo

android:background="@color/white"

0

In un altro modo, vai al layout -> il tuo file .xml -> vista di progettazione. Quindi vai all'albero dei componenti e seleziona il layout che vuoi cambiare colore. Nell'albero dei componenti sottostante è presente la sezione delle proprietà . Seleziona lo sfondo nella sezione delle proprietà (nella sezione immagine 1). Quindi fare clic sulla sezione 2 in figura. Quindi si aprirà la finestra Risorse. Da quel menu a colori selezionato . Quindi scegliere il colore desiderato. inserisci qui la descrizione dell'immagine


0

È possibile utilizzare semplici risorse di colore, specificate solitamente all'interno

res/values/colors.xml.

uso

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

e usalo tramite android:background="@color/red". Questo colore può essere utilizzato anche altrove, ad esempio come colore del testo. Fare riferimento in XML nello stesso modo o ottenerlo nel codice tramite

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

Puoi anche usare qualsiasi risorsa disegnabile come sfondo, usa android:background="@drawable/mydrawable"per questo (questo significa 9patch drawable, bitmap normali, shape drawable, ..).


0

Alcune volte, il testo ha lo stesso colore di sfondo, prova con android: background = "# CCCCCC" nelle proprietà listview e lo vedrai.


0

android: background = "# 64B5F6"
Puoi modificare il valore dopo '#' in base alle tue specifiche o necessità in base a come vuoi usarle.
Ecco un codice di esempio:

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

Grazie :)


0
  1. vai su Activity_Main.xml
  2. ci sono vista di progettazione / e vista di testo.
  3. scegli la visualizzazione del testo
  4. scrivi questo codice:

    android:background="@color/colorAccent"

0

Se desideri aggiungere il colore di sfondo all'intera attività

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

Se si desidera utilizzare lo sfondo per una vista

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

Spero che questo ti aiuti!


0

Questo codice può esserti utile:

android:background="#fff"

0

Voglio essere in grado di cambiare il colore di sfondo in bianco nella mia app Android nel modo più semplice possibile.

La domanda dice Modo più semplice, quindi eccola qui.

Imposta parentViewStylein tutte le visualizzazioni dei tuoi genitori. Come la maggior parte dei genitori della tua attività, frammento e dialoghi.

<LinearLayout style="@style/parentViewStyle">

  ... other components inside

</LinearLayout>

Metti questo stile dentro 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>

In questo modo, non dovrai cambiare il colore di sfondo molte volte in futuro.


0

Per Kotlin e non solo, quando scrivi

@colore/

puoi scegliere quello che vuoi, velocemente e semplicemente:

android:background="@color/md_blue_900"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.