Ich versuche, das Design einer Aktivität aus einer Reihe von Folien im Android-UI-Design etwas zu klonen . Ich habe jedoch ein Problem mit einer sehr einfachen Aufgabe.
Ich habe das Layout wie im Bild gezeigt erstellt, und die Überschrift ist a TextView
in a RelativeLayout
. Jetzt möchte ich die Hintergrundfarbe des ändern RelativeLayout
, aber ich kann nicht herausfinden, wie.
Ich weiß, dass ich die android:background
Eigenschaft im RelativeLayout
Tag in der XML-Datei festlegen kann, aber auf was setze ich sie? Ich möchte eine neue Farbe definieren, die ich an mehreren Stellen verwenden kann. Ist es ein drawable
oder ein string
?
Außerdem würde ich erwarten, dass es innerhalb des Eclipse Android UI-Designers einen sehr einfachen Weg gibt, den ich vermissen muss.
Ich bin momentan etwas frustriert, da dies eine Aktivität sein sollte, die mit maximal wenigen Klicks ausgeführt wird. Jede Hilfe wird sehr geschätzt. :) :)
quelle
Antworten:
Sie können einfache Farbressourcen verwenden , die normalerweise im Inneren angegeben sind
res/values/colors.xml
.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 abgetResources().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.).quelle
ANDROID_SDK\samples
Ordner (für verschiedene Android-Versionen). Die gesamte API-Beispiel-App ist auch in jeder Emulatorinstanz vorinstalliert.Die obigen Antworten sind nett. Sie können auch programmgesteuert so vorgehen, wenn Sie möchten
Zunächst sollte Ihr Layout eine ID haben. Fügen Sie es hinzu, indem Sie die folgende
+id
Zeile in res / layout / *. Xml schreibenNehmen Sie dann in Ihrem Java-Code die folgenden Änderungen vor.
Abgesehen davon können Sie, wenn Sie die Farbe in color.xml definiert haben, auch programmgesteuert Folgendes tun:
quelle
Sie können
android:background="#DC143C"
oder andere RGB- Werte für Ihre Farbe verwenden. Ich habe kein Problem damit, wie hier angegebenquelle
Das
Beispiel hat bei mir nicht funktioniert, aber das
arbeitete für mich im relativen Layoutelement als Attribut.
quelle
Wenn Sie eine Farbe schnell ändern möchten (und keine Hex-Zahlen gespeichert sind), hat Android einige voreingestellte Farben, auf die Sie wie folgt zugreifen können:
Sie können aus 15 Farben auswählen, die zum schnellen Testen geeignet sind, und Sie müssen keine zusätzlichen Dateien einrichten.
Das Einrichten einer Datei values / color.xml und die Verwendung von Straight Hex wie oben beschrieben funktionieren weiterhin.
quelle
4 Möglichkeiten, verwenden Sie eine, die Sie benötigen.
1. Kotlin
2. Datenbindung
ODER nützlichere Aussage-
3. XML
4. Java
quelle
Mit Android Studio 2.1.2 (oder möglicherweise früher) können Sie aus einem Farbkreis auswählen:
Ich habe dies erreicht, indem ich meinem Layout Folgendes hinzugefügt habe:
Dann klickte ich auf die Farbe FFFFFF und auf die Glühbirne, die erschien.
quelle
Kotlin
oder
- -
quelle
Die Antworten sind vor allem statisch. Ich dachte, ich würde eine dynamische Antwort geben. Die beiden Dateien, die synchronisiert werden müssen, sind relativ
foo.xml
zum Layout undactivity_bar.java
entsprechen der entsprechenden Java-KlasseR.layout.foo
.In
foo.xml
Legen Sie eine ID für das gesamte Layout fest:Und im
activity_bar.java
Set die Farbe in deronCreate()
:Ich hoffe das hilft.
quelle