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
Antwort
Sie sind Missverständnis LayoutParams
Konzept ein bisschen.
LayoutParams
Objekt wird in die umschließenden ViewGroup
, bezogen nicht die modifizierten ViewGroup
selbst.
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. –
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' ** –
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. –
http://StackOverflow.com/a/33707476/5038993 –
@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. –