Comment changer la couleur d'arrière-plan dans l'application Android


253

Je veux pouvoir changer la couleur d'arrière-plan en blanc dans mon application Android de la manière la plus simple possible.

Réponses:


348

Vous devez utiliser la propriété android: background, par exemple

android:background="@color/white"

Vous devez également ajouter une valeur pour le blanc dans le fichier strings.xml

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

Edit: 18 novembre 2012

Les deux premières lettres d'un code couleur à 8 lettres fournissent la valeur alpha, si vous utilisez la notation couleur html à 6 lettres, la couleur est opaque.

Par exemple :

entrez la description de l'image ici


@Jonny, les deux premières lettres fournissent la valeur alpha.
Ravi Vyas

Merci, mais n'est-il pas plus simple d'utiliser la valeur hexadécimale?
the_prole

ce serait très facile, mais une mauvaise pratique :)
Ravi Vyas

3
Il est encore plus facile à utiliser, android:background="@android:color/white"ce qui est prédéfini et ne vous oblige pas à ajouter quoi que ce soit à strings.xml.
Greg Hewgill

Pourriez-vous ajouter l'emplacement /res/layout/activity_main.xmlpour ajouter l'élément android:backgroundà la réponse?
030

157

Vous pouvez aussi utiliser

android:background="#ffffff"

dans votre mise en page xml ou /res/layout/activity_main.xml, ou vous pouvez changer le thème dans votre AndroidManifest.xml en ajoutant

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

à votre balise d'activité.

Si vous souhaitez modifier l'arrière-plan dynamiquement, utilisez

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

C'est la bonne réponse car elle a des thèmes, je crois. Un one-liner n'est PAS le moyen le plus simple, mais un moyen de diffuser un style entier à tout. Les styles sont la façon dont vous obtenez une ligne avec des changements même complexes. En outre, les styles fonctionnent sur les préférences, contrairement aux attributs généraux. (bien que toujours avec quelques bizarreries)
Stephen J

60

Manière la plus simple

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

Pas besoin de définir quoi que ce soit. Il utilise des couleurs prédéfinies dans android.R.


7
et programmatique:context.getResources().getColor(android.R.color.white)
Paschalis

1
merci, c'était en fait ce que je cherchais. Dans mon cas, je dois le faire en Java.
Armfoot

10

Pour modifier la couleur d'arrière-plan de la manière la plus simple possible par programme (exclusivement - aucune modification XML):

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

La seule exigence est que votre élément "de base" dans le fichier activity_wwhat.xml ait un identifiant que vous pouvez référencer en Java ( containerdans ce cas):

<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 et James, qui ont répondu ici, m'ont un peu conduit à cette solution, après avoir vérifié les différentes possibilités dans Comment définir la couleur du texte de TextView dans le code? .

J'espère que cela aide quelqu'un!


4

Cette méthode a fonctionné pour moi:

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

Définir l'identifiant dans la mise en page 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"

Ajouter des valeurs de couleur / color.xml

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

3

Le moyen le plus simple consiste à ajouter android:background="#FFFFFF"au nœud principal dans le fichier layout.xml ou /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>

Ce n'est pas une bonne idée, car cela entraînera un dépassement inutile du GPU (d'abord, l'arrière-plan de la fenêtre sera dessiné, puis l'arrière-plan de TextView au-dessus). Voir: curious-creature.com/docs/android-performance-case-study-1.html
Miloš Černilovský

3

La meilleure façon d'utiliser un arrière-plan avec un dégradé car cela n'augmente pas la taille de l'application de vos images d'application est un poison pour l'application Android, alors essayez de l'utiliser moins au lieu d'utiliser une couleur comme arrière-plan, vous pouvez utiliser plusieurs couleurs dans un seul arrière-plan. entrez la description de l'image ici entrez la description de l'image ici

entrez la description de l'image icientrez la description de l'image ici


2

Vous pouvez essayer ceci dans la xmlfeuille:

android:background="@color/background_color"

1

Dans Layout, pour changer l'arrière-plan, utilisez ceci.

android:background="@color/your_color"

Dans le programme peut être utilisé cela. Par exemple: couleur d'arrière-plan Texview

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

0

vous pouvez essayer de cette façon

android:background="@color/white"

0

Une autre façon, allez dans la disposition -> votre fichier .xml -> la vue de conception. Ensuite, allez dans l'arborescence des composants et sélectionnez la disposition dont vous souhaitez changer la couleur. Dans l'arborescence des composants ci-dessous, il y a une section de propriétés . Sélectionnez l' arrière-plan dans la section des propriétés (dans la section d'image 1). Cliquez ensuite sur la section 2 de l'image. Ensuite, la fenêtre Ressources sera ouverte. A partir de ce menu de sélection de couleur . Ensuite, choisissez la couleur que vous voulez. entrez la description de l'image ici


0

Vous pouvez utiliser des ressources de couleur simples, spécifiées généralement à l'intérieur

res/values/colors.xml.

utilisation

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

et l'utiliser via android:background="@color/red". Cette couleur peut également être utilisée ailleurs, par exemple comme couleur de texte. Référencez-le en XML de la même manière, ou obtenez-le en code via

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

Vous pouvez également utiliser n'importe quelle ressource dessinable comme arrière-plan, utilisez android:background="@drawable/mydrawable"-la (cela signifie que les tirables 9patch, les bitmaps normaux, les dessinables de forme, ..).


0

Parfois, le texte a la même couleur que l'arrière-plan, essayez avec android: background = "# CCCCCC" dans les propriétés listview et vous pourrez le voir.


0

android: background = "# 64B5F6"
Vous pouvez modifier la valeur après '#' selon vos propres spécifications ou besoin selon la façon dont vous souhaitez les utiliser.
Voici un exemple de code:

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

Je vous remercie :)


0
  1. accédez à Activity_Main.xml
  2. il existe une vue design / et une vue texte.
  3. choisissez la vue Texte
  4. écrire ce code:

    android:background="@color/colorAccent"

0

Si vous souhaitez ajouter une couleur d'arrière-plan à l'ensemble de l'activité

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

Si vous souhaitez utiliser l'arrière-plan pour une vue

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

J'espère que cela t'aides!


0

Ce code peut vous être utile:

android:background="#fff"

0

Je veux pouvoir changer la couleur d'arrière-plan en blanc dans mon application Android de la manière la plus simple possible.

La question dit Simplest Way, alors la voici.

Définissez parentViewStyletoutes vos vues parentales. Comme la plupart des vues parentales de votre activité, fragment et dialogues.

<LinearLayout style="@style/parentViewStyle">

  ... other components inside

</LinearLayout>

Il suffit de mettre ce style à l'intérieur 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>

De cette façon, vous n'aurez pas à changer la couleur d'arrière-plan plusieurs fois à l'avenir.


0

Pour Kotlin et pas seulement, lorsque vous écrivez

@Couleur/

vous pouvez choisir ce que vous voulez, rapidement et simplement:

android:background="@color/md_blue_900"
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.