yanno Posté(e) 29 octobre 2013 Share Posté(e) 29 octobre 2013 Bonjour, je suis entrain de travailler sur un projet tout en étant debutant dans la creation d'application android. Mon application doit aller lire les données dans un fichier Xml, en extraire les parametres abscisses, ordonnées, longueur et largeur necessaire pour concevoir un bouton personnalisé. l'objectif est de parametrer le positionnement et les dimensions des boutons de commande de mes machines. Comment je procède: 1- j'ai crée un fichier de definition au format xml (machine.xml); <?xml version="1.0" encoding="ISO-8859-1"?> <interfaces> <machine> <bouton> <label>bouton1</label> <coordonnees> <abscisse>12</abscisse> <ordonnee>12</ordonnee> </coordonnees> <dimensions> <longueur>12</longueur> <largeur>12</largeur> </dimensions> </bouton> </machine></interfaces> 2- j'ai utilisé un parser Sax pour analyser lire le document afin d'en extraire les données (longueur, largeur, abscisse, ordonnee) public void characters(char ch[], int start, int length) throws SAXException { if (babscisse) { abso = Integer.parseInt(new String(ch, start, length)); buffer.append("\n\n ABSCISSE : " + new String(ch, start, length)); } if (bordonne) { ordo = Integer.parseInt(new String(ch, start, length)); buffer.append("\n ORDONNEE : " + new String(ch, start, length)); } if (blongueur) { longs = Integer.parseInt(new String(ch, start, length)); buffer.append("\n LONGUEUR : " + new String(ch, start, length)); } if (blargeur) { largs = Integer.parseInt(new String(ch, start, length)); buffer.append("\n LARGEUR : " + new String(ch, start, length)); } if (blabel) { int i = 1; label = new String(ch, start, length); buffer.append("\n LABEL : " + label); Button bouton = CreerButton(abso, ordo, longs, largs); bouton.setText(label); layout.addView(bouton); } } fonction creerbouton() private Button CreerButton(float x, float y, int width, int hight) { int id = 1; Button bouton = new Button(this); bouton.setX(x); bouton.setY(y); bouton.setWidth(width); bouton.setHeight(hight); bouton.setTextSize(8); bouton.setText("Machine1"); bouton.setId(id++); return bouton; } 3- problème rencontré: j'obtiens sur mon émulateur un bouton crée . mais je constate que la position et les dimensions de mon bouton ne changent pas en fonction des parametres (abscisse,ordonne,longueur,largeur). quelqu'un pourrait me venir en aide fin de debloquer ce problème? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre Benayoun Posté(e) 11 novembre 2013 Share Posté(e) 11 novembre 2013 Il n'y a pas tout le code donc difficile de répondre mais je pense que le problème vient du fait que ton app, assez logiquement, crée le bouton puis lis les dimensions dans le fichier xml. Plusieurs solutions : - ne pas afficher me bouton tant que tu n'a pas lu les dimensions de ton bouton - stoker ces dimensions dans le fichier res\values\dimens.xml Bon courage ! ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.