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

Composants graphiques Android Discussion :

Canvas un peu particulié


Sujet :

Composants graphiques Android

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 80
    Par défaut Canvas un peu particulié
    Bonjour,


    Sur mon application Android, j'aimerais dessiner ceci :

    A gauche c'est ce que j'ai actuellement, et à droite c'est ce que je voudrais obtenir. Sachant l'angle en rouge n'est pas fixe il va constamment changer.

    Nom : img.png
Affichages : 103
Taille : 5,9 Ko



    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
     
    mPaint = new Paint();
                mSecondPaint.setARGB(255, 255, 0, 0);
                mSecondPaint.setStrokeWidth(2.f);
                mSecondPaint.setAntiAlias(true);
                mSecondPaint.setStrokeCap(Paint.Cap.ROUND);
     
     
    RectF oval = new RectF();
    int taille = 50;
    /* centerX et centerY sont le centre du cercle*/
    oval.set(centerX - taille, centerY - taille, centerX + taille, centerY + taille);
    /* -90 pour démarrer en haut
    *  l'angle entre 0 et 360 
    * true pour aller au centre
    */
    canvas.drawArc(oval,-90,angle,true,mPaint);

    Je ne trouve rien sur comment dessiner de l'extérieur du cercle vers sont centre sur une certaine distance !

    Des idées ?


    Cordialement

  2. #2
    Membre émérite
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Par défaut
    Salut,
    Ce n'est peut etre pas la meilleur solution, mais il te suffit de dessiner un autre cercle blanc plus petit par dessus.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 80
    Par défaut
    @LeBzul, non effectivement car je vais avoir plusieurs cercles, et actuellement il se superposent(ce qui n'est pas bon). Du coup ça me fait penser à l’opacité je vais aller jeter un œil de ce côté !

    Du coup j'ai mes cercles qui s'écrasent mutuellement, avant je dessinais du plus petit au plus grand (au total 3 cercles) et j'ai inversé l'ordre de dessin, si bien que j'obtient :
    Nom : screen.png
Affichages : 108
Taille : 29,4 Ko

    C'est presque ce dont j'ai besoin

  4. #4
    Membre émérite
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Par défaut
    Ok,
    Methode un peu plus compliqué, c'est d'utiliser Beizer :
    http://android-coding.blogspot.fr/20...h-cubicto.html

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 80
    Par défaut
    Citation Envoyé par LeBzul Voir le message
    Ok,
    Methode un peu plus compliqué, c'est d'utiliser Beizer :
    http://android-coding.blogspot.fr/20...h-cubicto.html


    Tu avais raison avec des cercles en noir ça fonctionne

    Nom : screen (1).png
Affichages : 98
Taille : 20,1 Ko

    Mais je vais regarder si je peux avoir un truc plus propre. Car il faut optimiser la batterie^^

  6. #6
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 308
    Par défaut
    Bonjour,

    tu sembles vouloir des jauges qui se superposent. Alors pourquoi tu ne fait pas des calques qui se superposent au lieu de faire un seul dessin ?

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 80
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Bonjour,

    tu sembles vouloir des jauges qui se superposent. Alors pourquoi tu ne fait pas des calques qui se superposent au lieu de faire un seul dessin ?
    Non à la base je ne veux pas qu'elles ce superposent mais il n'y a que comme ça que j'arrive à obtenir le bon résultat. Je vais regarder, avec quel composants tu fait ça ?

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Tu peux jeter un oeil à ces projets :
    https://github.com/ntoskrnl/AndroidWidgets
    https://github.com/bilthon/Android-Speedometer

    Dans l'idée ca s'approche de ce que tu veux faire , tu pourrais y trouver des solutions
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 80
    Par défaut
    Merci pour vos idées, finalement j'ai trouvé il faut modifier l'objet paint.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                mSecondPaint = new Paint();
                mSecondPaint.setARGB(255, 255, 0, 0);
                mSecondPaint.setAntiAlias(true);
                mSecondPaint.setStyle(Paint.Style.STROKE);
                mSecondPaint.setStrokeWidth(20);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT]Tableau un peu particulier
    Par JohnBlatt dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 21/06/2006, 18h14
  2. Un tri un peu particulier
    Par GregPeck dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/06/2006, 15h32
  3. Menu un peu particulier avec des onmouseover
    Par Jinroh77 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/02/2006, 14h30
  4. #define un peu particulier
    Par greuh dans le forum C
    Réponses: 14
    Dernier message: 12/10/2005, 16h42
  5. Réponses: 2
    Dernier message: 05/01/2004, 11h23

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