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 :

Dessiner des lignes à l'aide d'un Canvas


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Par défaut Dessiner des lignes à l'aide d'un Canvas
    bonjour tout le monde, je voudrai dessiner des lignes à l'aide d'un Canvas ou tout autre chose.
    J'ai deux champs x et y que l'utilisateur renseigne et dès qu'il clique sur le bouton ok on dessiner la ligne. Mon souci est comment faire pour appeler la méthode onDraw de View et lui passer en paramètre x et y.
    merci d'avance

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
     
    public class CollecteSurfaceCultive extends Activity implements OnClickListener{
     
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.collectesurfacecultive);
     
            //On affecte un écouteur d'évènement aux boutons
            findViewById(R.id.dessine).setOnClickListener(this);
     
     
        }
     
            //Méthode déclencher au clique sur un bouton
    	public void onClick(View v) {
    		switch (v.getId()) {
     
    		case R.id.dessine:
    			dessine();
    			break;
    		default:
    			break;
    		}
    	}
     
    	private void dessine() {
    		// on trace la ligne en utilisant ondraw de Figure 
                   //comment faire?
     
    	}
     
    	public class Figure extends View {
     
    	    public Figure(Context context) {
    	        super(context);
    	    }
     
    	    public Figure(Context context, AttributeSet attribs) {
    	        super(context, attribs);
    	    }
     
    	    @Override
    	    protected void onDraw(Canvas canvas) {
    	        super.onDraw(canvas);
    	        Paint paint = new Paint(); 
    	        paint.setColor(Color.GRAY); 
    	        paint.setStyle(Style.FILL); 
    	        canvas.drawPaint(paint);
     
    	        paint.setColor(Color.BLUE);
    	        canvas.drawLine(0, 0, x, y, paint);
    	        paint.setColor(Color.RED);
    	        canvas.save();
    	    }
     
    	}
    }

  2. #2
    bm
    bm est déconnecté
    Membre extrêmement actif

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Billets dans le blog
    6
    Par défaut
    Deux cercles :

    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
             @Override
             protected void onDraw(Canvas canvas) {
                // TODO Auto-generated method stub
                super.onDraw(canvas);
                int x = getWidth();
                int y = getHeight();
                int radius1;
                radius1 = 100;
                Paint paint1 = new Paint();
                paint1.setStyle(Paint.Style.FILL);
                paint1.setColor(Color.WHITE);
                canvas.drawPaint(paint1);
                paint1.setColor(Color.parseColor("#CD5C5C"));
                int radius2;
                radius2 = 150;
                Paint paint2 = new Paint();
                paint2.setStyle(Paint.Style.FILL);
                paint2.setColor(Color.WHITE);
                canvas.drawPaint(paint2);
                paint2.setColor(Color.parseColor("#FFFC5C"));
     
                canvas.drawCircle(x / 2, y / 2, radius1, paint1);
                canvas.drawCircle(x / 2, y / 4, radius2, paint2);
     
            }

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Novembre 2014
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Novembre 2014
    Messages : 67
    Par défaut
    Salut,

    Bm, de quoi tu parles ?
    Tu es complètement HS.

    Concernant ta question combe_6, il y a 2 manières d'appeler le onDraw :
    • A l'initialisation
    • A l'appel de invalidate()

    Tu passes tes variables x et y en paramètres du constructeur de ta View, et ensuite tu pourra les utiliser dans ton onDraw

  4. #4
    bm
    bm est déconnecté
    Membre extrêmement actif

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Billets dans le blog
    6
    Par défaut
    Concernant ta question combe_6, il y a 2 manières d'appeler le onDraw :

    A l'initialisation
    A l'appel de invalidate()
    Pour moi , c'est du chinois .
    Je donne du code , et pas des instructions .
    J'apprends aussi et j'ai quelques résultats positifs .

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Novembre 2014
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Novembre 2014
    Messages : 67
    Par défaut
    Citation Envoyé par bm Voir le message
    Pour moi , c'est du chinois .
    Je donne du code , et pas des instructions .
    J'apprends aussi et j'ai quelques résultats positifs .
    Si pour toi c'est du chinois, alors ne commente pas
    combe_6 veux savoir comment est appelé la méthode onDraw, toi tu lui donnes le code pour dessiner 2 cercles....
    Quel rapport ?

    Tant mieux si ton apprentissage t'apportes des résultats positifs, je ne remet rien en cause. Simplement que tu étais hors-sujet sur la question initialement posée.

  6. #6
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Par défaut
    bonjour et excusez moi du retard de ma réponse. J'ai essayer de faire comme tu me l'as dit IronRabbit mais j'obtiens une erreur dès que j'instancie la classe qui dessine. C'est à dire dès je fais un .
    J'ai beau cherché je comprend pas pourquoi cette erreur.
    Merci d'avance.

Discussions similaires

  1. Débutant - Dessiner des lignes
    Par jeromeke22 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 07/05/2007, 22h37
  2. Dessiner des lignes de couleur différente
    Par gids01 dans le forum 2D
    Réponses: 4
    Dernier message: 06/11/2006, 11h14
  3. [DBGRID][FAQ] Dessiner des lignes de couleur
    Par okparanoid dans le forum Bases de données
    Réponses: 5
    Dernier message: 11/10/2005, 17h10
  4. dessiner des lignes "cliquables"
    Par r0d dans le forum Webdesign & Ergonomie
    Réponses: 14
    Dernier message: 21/03/2005, 15h02

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