J'essaie de cloner quelque peu la conception d'une activité à partir d'un ensemble de diapositives sur la conception de l'interface utilisateur Android . Cependant, j'ai un problème avec une tâche très simple.
J'ai créé la mise en page comme indiqué dans l'image, et l'en-tête est un TextView
dans un RelativeLayout
. Maintenant, je souhaite changer la couleur d'arrière-plan du RelativeLayout
, mais je n'arrive pas à comprendre comment.
Je sais que je peux définir la android:background
propriété dans la RelativeLayout
balise du fichier XML, mais à quoi dois-je la définir? Je veux définir une nouvelle couleur que je peux utiliser à plusieurs endroits. Est-ce un drawable
ou un string
?
De plus, je m'attendrais à ce qu'il y ait un moyen très simple de le faire depuis le concepteur d'interface utilisateur Eclipse Android que je dois manquer?
Je suis un peu frustré actuellement, car cela devrait être une activité qui se fait en quelques clics au maximum. Donc, toute aide est très appréciée. :)
la source
Réponses:
Vous pouvez utiliser des ressources de couleur simples , spécifiées généralement à l'intérieur
res/values/colors.xml
.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 récupérez-le dans le code viagetResources().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 tirages 9patch, les bitmaps normaux, les dessinables de forme, ..).la source
ANDROID_SDK\samples
dossier (pour différentes versions d'Android). L'ensemble de l'exemple d'application api est également préinstallé dans chaque instance d'émulateur.Les réponses ci-dessus sont agréables. Vous pouvez également procéder comme ceci par programme si vous le souhaitez
Tout d'abord, votre mise en page doit avoir un ID. Ajoutez-le en écrivant la
+id
ligne suivante dans res / layout / *. XmlEnsuite, dans votre code Java, apportez les modifications suivantes.
en dehors de cela, si vous avez la couleur définie dans colors.xml, vous pouvez également faire par programme:
la source
Vous pouvez utiliser
android:background="#DC143C"
ou toute autre valeur RVB pour votre couleur. Je n'ai aucun problème à l'utiliser de cette façon, comme indiqué icila source
le
par exemple n'a pas fonctionné pour moi, mais le
travaillé pour moi dans l'élément de mise en page relative en tant qu'attribut.
la source
Si vous voulez changer une couleur rapidement (et que vous n'avez pas de numéros Hex mémorisés), Android a quelques couleurs prédéfinies auxquelles vous pouvez accéder comme ceci:
Vous pouvez choisir parmi 15 couleurs, ce qui est bien pour tester rapidement les choses, et vous n'avez pas besoin de configurer des fichiers supplémentaires.
La configuration d'un fichier values / colors.xml et l'utilisation de Hex droit comme expliqué ci-dessus fonctionneront toujours.
la source
4 façons possibles, utilisez celle dont vous avez besoin.
1. Kotlin
2. Liaison de données
OU déclaration plus utile-
3. XML
4. Java
la source
Android studio 2.1.2 (ou peut-être plus tôt) vous permettra de choisir parmi une roue chromatique:
J'ai obtenu cela en ajoutant ce qui suit à ma mise en page:
Puis j'ai cliqué sur la couleur FFFFFF et cliqué sur l'ampoule qui est apparue.
la source
Kotlin
ou
-
la source
Les réponses sont avant tout statiques. Je pensais que je fournirais une réponse dynamique. Les deux fichiers qui devront être synchronisés sont le parent
foo.xml
avec la mise en page etactivity_bar.java
qui correspond à la classe Java correspondant à celaR.layout.foo
.Dans
foo.xml
définir un identifiant pour la mise en page entière:Et
activity_bar.java
définissez la couleur dans leonCreate()
:J'espère que ça aide.
la source