2010-09-02 13 views
1

J'ai utilisé l'implémentation gestuelle dans mon application, mon objet se déplace parfaitement à travers l'écran, pendant le lancer, scroll..etc, mais parfois mon objet disparaît de la vue et de sa disparition, maintenant je dois restreindre la limite de mon objet gestuel, j'ai placé ce geste dans un view, j'ai essayé d'obtenir le width et height de la vue et essayé de restreindre, mais je peux ; t trouvent à droite, toujours le, objet se déplace hors de sa limite ....trouver la largeur et la hauteur de la vue pour restreindre le mouvement de l'image en utilisant le geste

Mon viewholder (mise en page où le geste est placé), j'ai essayé d'obtenir la largeur et la hauteur viewholder.getWidth(), mais viewholder.getHeight() b retours OTH 0,

je savais que je suis allé mal quelque part, quelqu'un pourrait-il en mesure de me corriger, comment je peux aller plus loin

 
framelayout = (FrameLayout) findViewById(R.id.LinearLayout_DrawCircle); 
framelayout.addView(new DrawTarget(this)); // View 1 (Draws Concentric circle) 
framelayout.addView(gestureaction); // View 2 (Draws a bitmap and invokes gesture that can move around) 
//trying to find the `width` and `height` of the view, so that movement of object can be restricted 
px = framelayout.getWidth(); 
py = framelayout.getHeight(); 
Log.i(TAG,"Width =" +px + "," + "Height = " +py); //return 0,0 

s'il vous plaît laissez-moi savoir comment aller plus loin ...

Merci d'avance

Répondre

0

Dans android, la largeur et la hauteur ne sont affectées à la vue que lorsque son rendu est terminé. Donc, sauf si vos vues sont rendues au moins une fois, ils ne seront pas assignés de largeur ou de hauteur. Solution à votre problème pourrait être que vous définissez une certaine hauteur et largeur de vue afin que vous ayez au moins quelque chose à travailler avec initialement et une fois que vos vues sont rendues, vous aurez la largeur et la hauteur de la vue à jouer.

+0

ok, merci beaucoup Amit .. –