2010-09-09 4 views
1

Dans Android lorsque j'ajoute un objet de vue comme ImageView à la vue FrameLayout et que j'essaie immédiatement d'appeler la méthode layout() à repositioned the added view object cela ne fonctionne pas. Mais lorsque j'appelle la méthode de mise en page seule après un nouvel événement, par ex. L'événement tactile, puis la disposition() semble fonctionner. Cela arrive aussi lorsque bringToFront() et layout() sont utilisés ensemble, layout() ne semble pas fonctionner avec d'autres méthodes. Y at-il une raison pour laquelle est-ce comme ça? Aussi, au lieu d'ajouter l'objet de vue au milieu de l'écran peut-il être ajouté à un endroit spécifique dans FrameLayout?Android: méthode addView et mise en page ne fonctionne pas ensemble

Répondre

4

Vous ne devez JAMAIS appeler layout() directement. Ceci est utilisé par le framework uniquement. Vous devez modifier les paramètres de disposition de la vue (getLayoutParams()) et appeler requestLayout().

+0

mise en page de réglage im params de ma mise en page, mais dans onCreate mais toute la vue Childs obtient invisible ?? –

+0

et quel est le meilleur moment pour définir Layout Params ?? –

1

essayez ceci:

FrameLayout.LayoutParams layout = new frameLayout.LayoutParams (LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT,Gravity.BOTTOM); 
Questions connexes