2016-07-22 2 views
0

Вы можете добавить поведение app:layout_behavior="@string/appbar_scrolling_view_behavior" в LinearLayout в декларации XML, но я не нашел способ сделать то же самое в коде. С CoordinatorLayout вы можете позвонить CoordinatorLayout.LayoutParams.setBehavior(), но этот метод недоступен на LinearLayout.LayoutParams. Есть ли способ сделать что-то подобное для LinearLayout?Как добавить и удалить поведение макета программно в LinearLayout

+0

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

+0

@Akeshwar, который не работает на 'LinearLayout', потому что его' LinearLayout.LayoutParams' не может быть передан 'CoordinatorLayout.LayoutParams'. На самом деле у меня есть комментарий по тому же ответу, в котором говорится об этом факте. –

ответ

0

Вы ошибаетесь LayoutParams Концепция немного.

LayoutParams объект связан с заключающей ViewGroup, не с самого модифицированного ViewGroup.

+0

Это, вероятно, так, но на CoordinatorLayout это можно сделать, поэтому мне интересно, есть ли способ сделать это на LinearLayout. –

+0

Что именно «можно сделать» на 'CoordinatorLayout'? Взгляните на вопрос, на который вы отправили свой оригинальный комментарий. Я ничего не делаю ** по ** самому 'CoordinatorLayout'. Я что-то делаю ** это ребенок 'View' ** –

+0

Не в CoordinatorLayout сам, но когда у вас есть представление внутри него. Я имел в виду, что, когда у вас было представление внутри, вы могли бы добавлять и удалять LayoutParams программно. Не то, чтобы вы сделали это непосредственно на CoordinatorLayout. –

Смежные вопросы