2016-07-22 13 views
0

Sie können das app:layout_behavior="@string/appbar_scrolling_view_behavior" Verhalten zu einer LinearLayout in der XML-Deklaration hinzufügen, aber ich habe keine Möglichkeit gefunden, das gleiche in Code zu tun. Mit einer CoordinatorLayout können Sie CoordinatorLayout.LayoutParams.setBehavior() anrufen, aber diese Methode ist nicht verfügbar unter LinearLayout.LayoutParams. Gibt es eine Möglichkeit, etwas Ähnliches für LinearLayout zu tun?Wie Sie Layout-Verhalten programmgesteuert zu LinearLayout hinzufügen und entfernen

+0

http://StackOverflow.com/a/33707476/5038993 –

+0

@Akeshwar funktioniert nicht auf 'LinearLayout', weil' LinearLayout.LayoutParams' nicht in 'CoordinatorLayout.LayoutParams' umgewandelt werden kann. Tatsächlich habe ich unter derselben Antwort einen Kommentar, der diese Tatsache angibt. –

Antwort

0

Sie sind Missverständnis LayoutParams Konzept ein bisschen.

LayoutParams Objekt wird in die umschließenden ViewGroup, bezogen nicht die modifizierten ViewGroup selbst.

+0

Das ist wahrscheinlich wahr, aber auf CoordinatorLayout kann es geschehen, also frage ich mich, ob es auch einen Weg gibt, es mit LinearLayout zu machen. –

+0

Was genau kann auf "CoordinatorLayout" getan werden? Schau dir die Frage an, auf die du deinen ursprünglichen Kommentar geschrieben hast. Ich mache nichts ** auf dem 'CoordinatorLayout' selbst. Ich mache etwas auf ** es ist Kind 'View' ** –

+0

Nicht in CoordinatorLayout selbst, aber wenn Sie einen Blick hinein haben. Was ich damit meinte, war, dass Sie LayoutParams programmatisch hinzufügen und entfernen konnten, wenn Sie eine Ansicht in einer Ansicht hatten. Nicht, dass Sie das direkt in CoordinatorLayout getan haben. –