Android: Comment faire pour vérifier si un chemin d'accès contient touché point?
je voudrais essayer de développer une application dans laquelle je peux dessiner une planimétrie. Ainsi, chaque chambre a sa propre ID ou nom et, si je touche une pièce, je veux montrer un Toast Message avec l'ID ou le nom. Le problème est de savoir comment vérifier si et le chemin d'accès est touché!!
J'ai vu beaucoup de sujet de discussions qui parlait de ce problème. Quelqu'un a dit d'utiliser getBounds méthode et, après, contient méthode pour vérifier si touché point est dans Rect. Mais, je suppose que getBounds méthode renvoie le plus petit Rectangle qui contient le chemin, à droite?
Donc, les chambres disposent d'personnalisées différentes formes géométriques et, pour cette raison, si je reçois des limites à environ 2 à proximité des chambres, la méthode peut retourner un ensemble partagé de points. Mauvais! Chaque chambre a seulement leurs points. Comment puis-je résoudre ce problème ?
Dans iOS je pourrais utiliser PathContainsPoint méthode, mais, unfortunally, Android Chemin d'accès n'ont pas quelque chose de similaire.
J'espère que quelqu'un peut m'aider
Merci à l'avance
OriginalL'auteur kinghomer | 2012-03-06
Vous devez vous connecter pour publier un commentaire.
Ok j'ai résolu mon problème. Je poste le code d'exemple:
Exactement ce que je cherchais
quel est le nombre de points d'objets, points.ajouter(point) ?
Ce n'est pas important. J'ai sauvé touché point pour mes fins
Pour info, la création de nouveaux RectF et de la Région dans onDraw n'est pas bon pour la performance, amélioration de la réutilisation, si possible.
OriginalL'auteur kinghomer
Voici une idée: créer un nouveau chemin qui est un tout petit carré autour du point qui a été touché, et alors l'intersection de ce chemin avec votre chemin pour être testé à l'aide chemin d'accès.op() et voir si le résultat est vide.
Si votre chemin est un rectangle, utilisez kinghomer la réponse ci-dessus. Si votre chemin est un polygone, voir sromku de réponse ici: stackoverflow.com/a/15817043/338479. J'ai plus de solution générale qui gère un chemin composé d'arcs, de cercles et segments de ligne, mais c'est un peu poilue. Je peux poster la semaine prochaine, si il y a assez d'intérêt.
Merci, j'ai résolu en sous-classement Chemin et garder une trace de tous les points, puis j'ai utilisé ce stackoverflow.com/a/16391873/3284364 de la formule et réécrit en Java.
Je suppose que si vous voulez que je pouvais poster une réponse avec l'ensemble de la solution. Vous ne savez pas si des thats va aider quelqu'un
Je suis intéressé par votre solution, vous pouvez poster la bonne réponse?
OriginalL'auteur Edward Falk