So ändern Sie die Hintergrundfarbe in der Android App

253

Ich möchte in der Lage sein, die Hintergrundfarbe in meiner Android-App auf einfachste Weise in Weiß zu ändern.

Ryan
quelle

Antworten:

348

Sie müssen die Eigenschaft android: background verwenden, z

android:background="@color/white"

Außerdem müssen Sie in der Datei strings.xml einen Wert für Weiß hinzufügen

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

Bearbeiten: 18. November 2012

Die ersten beiden Buchstaben eines 8-Buchstaben-Farbcodes geben den Alpha-Wert an. Wenn Sie die HTML-6-Buchstaben-Farbnotation verwenden, ist die Farbe undurchsichtig.

Z.B :

Geben Sie hier die Bildbeschreibung ein

Ravi Vyas
quelle
@Jonny Die ersten beiden Buchstaben geben den Alpha-Wert an.
Ravi Vyas
Vielen Dank, aber ist es nicht einfacher, nur den Hex-Wert zu verwenden?
the_prole
es wäre sehr einfach, aber schlechte Übung :)
Ravi Vyas
3
Es ist noch einfacher zu verwenden android:background="@android:color/white", da es vordefiniert ist und Sie nichts zu strings.xml hinzufügen müssen.
Greg Hewgill
Können Sie den Speicherort /res/layout/activity_main.xmlfür das Hinzufügen des Elements android:backgroundzur Antwort hinzufügen ?
030
157

Sie können auch verwenden

android:background="#ffffff"

in Ihrem XML-Layout oder /res/layout/activity_main.xml, oder Sie können das Thema in Ihrer AndroidManifest.xml durch Hinzufügen ändern

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

zu Ihrem Aktivitäts-Tag.

Wenn Sie den Hintergrund dynamisch ändern möchten, verwenden Sie

YourView.setBackgroundColor(Color.argb(255, 255, 255, 255));
James
quelle
Dies ist die richtige Antwort, weil es Themen gibt, glaube ich. Ein Einzeiler ist NICHT der einfachste Weg, sondern ein Weg, einen ganzen Stil auf alles auszudehnen. Mit Stilen erzielen Sie eine Zeile mit selbst komplexen Änderungen. Im Gegensatz zu allgemeinen Attributen arbeiten Stile auch mit Einstellungen. (obwohl immer noch mit ein paar Kuriositäten)
Stephen J
60

Einfachster Weg

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

Keine Notwendigkeit, etwas zu definieren. Es werden vordefinierte Farben in verwendet android.R.

Paschalis
quelle
7
und programmatisch:context.getResources().getColor(android.R.color.white)
Paschalis
1
danke, das war eigentlich das, wonach ich gesucht habe. In meinem Fall muss ich das in Java machen.
Armfoot
10

So ändern Sie die Hintergrundfarbe auf einfachste Weise programmgesteuert (ausschließlich - keine XML-Änderungen):

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

Die einzige Voraussetzung ist, dass Ihr "Basis" -Element in der Datei activity_whatever.xml eine ID hat, auf die Sie in Java verweisen können ( containerin diesem Fall):

<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 und James, die hier geantwortet haben, haben mich zu dieser Lösung geführt, nachdem sie die verschiedenen Möglichkeiten in Wie man die Textfarbe von TextView im Code festlegt? .

Hoffe es hilft jemandem!

Armfuß
quelle
4

Diese Methode hat bei mir funktioniert:

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

Legen Sie die ID in der Layout-XML fest

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"

Fügen Sie Farbwerte / color.xml hinzu

<color name="bg_color_2">#ffeef7f0</color>
Felix Cruz
quelle
3

Am einfachsten ist es android:background="#FFFFFF", dem Hauptknoten in der Datei layout.xml hinzuzufügen oder /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
quelle
Dies ist keine gute Idee, da dies zu einem unnötigen Überzeichnen der GPU führt (zuerst wird der Fensterhintergrund und dann der Hintergrund der Textansicht darüber gezeichnet). Siehe: neugierig-creature.com/docs/android-performance-case-study-1.html
Miloš Černilovský
3

Der beste Weg, Hintergrund mit Farbverlauf zu verwenden, da er die App-Größe Ihrer App-Bilder nicht erhöht, ist Gift für die Android-App. Versuchen Sie also, ihn weniger zu verwenden, anstatt eine Farbe als Hintergrund zu verwenden. Sie können mehrere Farben in einem Hintergrund verwenden. Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung einGeben Sie hier die Bildbeschreibung ein

Nadschaf Ali
quelle
2

Sie können dies in xmlBlatt versuchen :

android:background="@color/background_color"
Ashwini
quelle
1

Verwenden Sie diese Option im Layout, um den Hintergrund zu ändern.

android:background="@color/your_color"

Im Programm kann dies verwendet werden. Zum Beispiel: Texview Hintergrundfarbe

 TextView tvName = (TextView) findViewById(R.id.tvName);
 tvName.setBackgroundColor(getResources().getColor(R.color.your_color));
Sarath VK
quelle
0

Sie können es auf diese Weise versuchen

android:background="@color/white"
Kumar
quelle
0

Auf andere Weise gehen Sie zu Layout -> Ihre XML-Datei -> Entwurfsansicht. Gehen Sie dann zum Komponentenbaum und wählen Sie das Layout aus, dessen Farbe Sie ändern möchten. Im folgenden Komponentenbaum befindet sich der Eigenschaftenbereich. Wählen Sie im Eigenschaftenbereich den Hintergrund aus (in Bildabschnitt 1). Klicken Sie dann auf Abschnitt 2 im Bild. Dann Ressourcen werden Fenster geöffnet .Von sein , dass wählen Sie Farbe Menü .Dann Farbe wählen , die Sie wünschen. Geben Sie hier die Bildbeschreibung ein

RoshanS
quelle
0

Sie können einfache Farbressourcen verwenden, die normalerweise im Inneren angegeben sind

res/values/colors.xml.

verwenden

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

und benutze diese via android:background="@color/red". Diese Farbe kann auch an anderer Stelle verwendet werden, z. B. als Textfarbe. Verweisen Sie auf XML auf die gleiche Weise oder rufen Sie es über Code ab

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

Sie können auch eine beliebige zeichnbare Ressource als Hintergrund verwenden android:background="@drawable/mydrawable"(dies bedeutet 9-Patch-Zeichen, normale Bitmaps, Form-Zeichen usw.).

Focaloid
quelle
0

Manchmal hat der Text die gleiche Farbe wie der Hintergrund. Versuchen Sie es mit android: background = "# CCCCCC" in den Eigenschaften der Listenansicht, und Sie werden das sehen.

Ingeniería Ceet
quelle
0

android: background = "# 64B5F6"
Sie können den Wert nach '#' gemäß Ihrer eigenen Spezifikation oder Ihren Anforderungen ändern, je nachdem, wie Sie sie verwenden möchten.
Hier ist ein Beispielcode:

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

Danke :)

ranit
quelle
0
  1. Gehen Sie zu Activity_Main.xml
  2. Es gibt Designansicht / und Textansicht.
  3. Wählen Sie Textansicht
  4. Schreiben Sie diesen Code auf:

    android:background="@color/colorAccent"
Mohamed Seda
quelle
0

Wenn Sie der gesamten Aktivität Hintergrundfarbe hinzufügen möchten

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

Wenn Sie den Hintergrund für eine Ansicht verwenden möchten

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

Hoffe das hilft!

Tharini Krishna
quelle
0

Dieser Code kann für Sie nützlich sein:

android:background="#fff"
Ebnesina
quelle
0

Ich möchte in der Lage sein, die Hintergrundfarbe in meiner Android-App auf einfachste Weise in Weiß zu ändern.

Die Frage sagt Simplest Way, also hier ist es.

In parentViewStyleallen übergeordneten Ansichten festlegen. Wie die meisten übergeordneten Ansichten Ihrer Aktivitäten, Fragmente und Dialoge.

<LinearLayout style="@style/parentViewStyle">

  ... other components inside

</LinearLayout>

Setzen Sie einfach diesen Stil ein 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>

Auf diese Weise müssen Sie die Hintergrundfarbe in Zukunft nicht mehr oft ändern.

Khemraj
quelle
0

Für Kotlin und nicht nur, wenn Sie schreiben

@Farbe/

Sie können schnell und einfach wählen, was Sie wollen:

android:background="@color/md_blue_900"
Alessandro Ornano
quelle