Bei Android, wie neu-layout-Ansichten?
Ich bin das hinzufügen einer Reihe von benutzerdefinierten Ansichten, um ein LinearLayout. Ich habe überschrieben, die Methode onMeasure dieser benutzerdefinierten Ansichten, um wieder die Dimensionen, der basierend auf bestimmten Parametern. Basierend auf Benutzereingaben, würde ich mag, um diese Parameter zu ändern, ändern Sie die Größe des views. Wie kann ich erzwingen, das LinearLayout zu "re-layout" sind es die Kinder, entsprechend den neuen Abmessungen?
InformationsquelleAutor ab11 | 2010-11-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Oh... linearLayout.requestLayout().
invalidate() war nicht hilfreich, hat bei mir nicht funktioniert, ich vermute, weil ungültig, ein layout Kräfte alle Kinder wieder selbst zu zeichnen, aber eigentlich nicht die Größe/relayout der Kinder.
Unter Android OS 4.x-tablet (ICS), relayouting nicht helfen, für mich. Was half, war das entfernen
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
InformationsquelleAutor ab11
mein Fall ist muss ich zu relayout alle Kinder sofort.
requestLayout() tut es nicht sofort.
Für diejenigen, die die gleiche Anforderung mit mir:
Wird dadurch gezwungen, relayout der Ansicht, die Kinder sofort (vorausgesetzt, dass der Ansicht der eigenen Breite und Höhe nicht ändern müssen)
invalidate
undrequestLayout
nur würden es nicht tun, also danke für diesen Tipp!InformationsquelleAutor Helin Wang