IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

fond d'écran en-tête android couleur


Sujet :

Android

  1. #1
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Par défaut fond d'écran en-tête android couleur
    bonjour,

    je cherche à faire un dégradé de bas en haut pour un fond d'écran d'une en-tête:
    en partant du bas, dégradé de couleur1 à couleur2 jusqu'au milieu, puis changement brutal de couleur avec un second dégradé, du milieu en haut, de couleur3 à couleur4.
    J'ai fait quelque chose comme ça, mais j'ai beau changer l'ordre des couleurs, je n'arrive pas à avoir l'effet voulu.
    J'ai l'impression d'avoir essayé toutes les possibilités d'ordonnancement des 4 couleurs, et ça me rend fou car le rendu n'est jamais le bon... peut-être la syntaxe est-elle mauvaise ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	<gradient
          android:startColor="une_couleur (mais laquelle?)"
          android:centerColor="une_couleur (mais laquelle?)"
          android:angle="90" />
        <gradient
          android:centerColor="une_couleur (mais laquelle?)"
          android:endColor="une_couleur (mais laquelle?)"
          android:angle="90" />

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Je ne pense pas que tu puisses cumuler deux gradient comme cela sur une même view .

    Tu peux avoir d'autre effet si tu le souhaite comme le sweep ou le radial.

    Mais chaque gradient de prendra entièrement le canvas de la view et pas seulement une partie.

    Si tu veux essayer d'avoir un effet comme tel alors je te conseille de passer par des bitmaps.

  3. #3
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Par défaut
    bonjour,

    Je suis sûr de l'effet que je recherche, et je ne compte pas le modifier pour des problèmes d'implémentation.
    Ma question c'est plutôt comment y parvenir le plus simplement possible.
    Si le "sweep" ou le "radial" ou les "bitmaps" permettent de faire l'effet voulu, je veux bien. Comment ferait-on ?

    Merci.

  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Le sweep et le radial sont deux autres effets .

    Par contre si tu veux utiliser une bitmap , ben il te suffit de la créer via un Editeur d'image puis de l'insérer comme src de ton composant item. Tu n'auras alors pas besoin de personnaliser tes shapes ^^.

  5. #5
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Par défaut
    Bon et je fais comment pour créer un tel bitmap?
    Le dessin c'est pas trop mon truc, et je n'ai aucun logiciel de dessin...

  6. #6
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Le dessin c'est pas trop mon truc, et je n'ai aucun logiciel de dessin...
    Tu as gimp si tu veux .

    http://www.gimp.org/downloads/

  7. #7
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Par défaut
    Je connais de nom mais je ne saurai pas bien m'en servir.
    Quelqu'un peut-il me dire en gros comment faire ce dégradé avec gimp ?

  8. #8
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589

  9. #9
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Par défaut
    Et je dois faire cette manip dans un rectangle, sous gimp ?

    Quelle doit être la taille de ce rectangle dans gimp ?

    Le problème c'est que, à moins que je ne me trompe, si j'utilise <shape>, le gradient va être calculé de telle sorte à ce qu'il remplisse tout mon fond d'écran de mon en-tête, alors que si j'utilise les bitmaps, je vais devoir choisir un rectangle dans lequel dessiner mon gradient, et donc prévoir un écran de taille fixe, ce qui n'est pas le but pour mon utilisateur dont je ne connais pas la taille de l'écran.

    Comment utiliser les bitmaps et comment dessiner mon rectangle sous gimp de telle sorte que cela puisse s'appliquer à toute taille d'écran ?

    Merci.

  10. #10
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Le problème c'est que, à moins que je ne me trompe, si j'utilise <shape>, le gradient va être calculé de telle sorte à ce qu'il remplisse tout mon fond d'écran de mon en-tête, alors que si j'utilise les bitmaps, je vais devoir choisir un rectangle dans lequel dessiner mon gradient, et donc prévoir un écran de taille fixe, ce qui n'est pas le but pour mon utilisateur dont je ne connais pas la taille de l'écran.

    Comment utiliser les bitmaps et comment dessiner mon rectangle sous gimp de telle sorte que cela puisse s'appliquer à toute taille d'écran ?
    Les bitmaps sont redimensionné en fonction de la vue , de plus l'application pourra choisir quel bitmap sera la plus adapté à l'écran via le ldpi mdpi et hdpi , il faut également mettre une bitmap par défaut dans le répertoire drawable.


    Après Si tu ne veux absolument pas utiliser les Bitmaps regarde dans ce cas les
    layer list , tu devrais pourvoir obtenir ce que tu souhaites.

    http://developer.android.com/guide/t...html#LayerList

  11. #11
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Par défaut
    Oui c'est peut-être plus simple, mais bon je ne suis pas forcément 100% contre l'utilisation de gimp non plus, c'est juste que je connais moins...
    Comment faire pour utiliser layerlist ?

    j'ai essayé quelque chose dans ce genre, mais ça ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <layer-list>
        <item>
        <gradient
          android:startColor="une_couleur (mais laquelle?)"
          android:centerColor="une_couleur (mais laquelle?)"
          android:angle="90" />
        </item>
        <item>
           <gradient
          android:startColor="une_couleur (mais laquelle?)"
          android:centerColor="une_couleur (mais laquelle?)"
          android:angle="90" />
        </item>
    <layer-list>
    (oops ces satanés balises, décidemment... vraiment désolé, je me marquerai un post it pour la prochaine fois )

  12. #12
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Pense au balise merci . la elles étaient nécessaire ...

    Sinon pour ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?xml version="1.0" encoding="utf-8"?>
    <layer-list
        xmlns:android="http://schemas.android.com/apk/res/android"
        >
        <item>
            <shape
                android:shape="rectangle"
                >
                <gradient
                    android:startColor="#ffff0000"
                    android:endColor="#ffff8080"
                    android:type="linear"
                    android:angle="90"
                    />
            </shape>
        </item>
        <item
            android:top="100sp"
            >
            <shape
                android:shape="rectangle"
                >
                 <gradient
                    android:startColor="#ff0000ff"
                    android:endColor="#ff00ff00"
                    android:type="linear"
                    android:angle="90"
                    />
                <size
                    android:height="3px"
                    />
            </shape>
        </item>
    </layer-list>
    Alors les couleurs c'est pas top , mais comme cela ca marche , par contre il faut juste que tu trouves le moyen de trouver la bonne valeur pour ici
    . il doit surement avoir un autre moyen que de passer par le paramètre top .

    Edit :
    (oops ces satanés balises, décidemment... vraiment désolé, je me marquerai un post it pour la prochaine fois )
    Pas grave . Penses y

  13. #13
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Par défaut
    Je ne comprends pas bien ce code: que représentent android:top="100sp" et <size android:height="3px"/> ?

    Est-ce que android:top="100sp" est censé représenter la moitié de la hauteur du background ? (Si oui, ça ne marche pas car je ne connais pas sa taille par avance, elle dépend de celle du téléphone).

    De ce que j'en comprends, il y a un dégradé qui est fait de haut en bas et un autre qui est fait du milieu vers le bas (réécrit par dessus), je me trompe ?
    Si c'est bien ça (sinon oubliez le reste de ce post), il ne me semble pas que ce soit très optimal, de calculer un dégradé pour l'annuler à moitié et réécrire par dessus... En plus, je ne connais que la couleur du dégradé jusqu'au milieu du bouton, pas celle qu'il devrait prendre s'il arrivait jusqu'en bas.

  14. #14
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Je ne comprends pas bien ce code: que représentent android:top="100sp" et <size android:height="3px"/> ?

    Est-ce que android:top="100sp" est censé représenter la moitié de la hauteur du background ? (Si oui, ça ne marche pas car je ne connais pas sa taille par avance, elle dépend de celle du téléphone).
    En fait c'est bien ce que je te préciser ci dessus , le top te sers à définir ou commence la nouvelle vue(item dans ce cas). C'est une valeur au hasard.

    Après je pense qu'en jouant sur les paramètres de l'item tu dois pouvoir gérer la moitié de la taille ^^.

    De ce que j'en comprends, il y a un dégradé qui est fait de haut en bas et un autre qui est fait du milieu vers le bas (réécrit par dessus), je me trompe ?
    Pas du tout il a deux dégradé qui se font sur deux items .

    La taille des items est défini dans cas via le paramètre top que l'on doit pouvoir changer pour avoir ta moitié de taille (autre paramètre).

    Si c'est bien ça (sinon oubliez le reste de ce post), il ne me semble pas que ce soit très optimal, de calculer un dégradé pour l'annuler à moitié et réécrire par dessus... En plus, je ne connais que la couleur du dégradé jusqu'au milieu du bouton, pas celle qu'il devrait prendre s'il arrivait jusqu'en bas.
    Donc vu la réponse précédente , il me senble justement que ca cas de comportement était celui lorsque tu utilisait deux gradient dans le même item ( voir le code au début).

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/07/2014, 06h47
  2. Mettre un fond d'écran sur son application Android
    Par guigui2454000 dans le forum Android
    Réponses: 5
    Dernier message: 26/06/2014, 08h19
  3. Changer couleur fond d'écran Windows 7
    Par Il_TiRaNNo dans le forum VBScript
    Réponses: 1
    Dernier message: 02/06/2010, 12h46
  4. Changer couleur fond d'écran xp
    Par vinsanseau dans le forum VBScript
    Réponses: 12
    Dernier message: 16/11/2007, 10h04
  5. Réponses: 1
    Dernier message: 10/05/2007, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo