Я использую прокрутку, созданную Android Studio.Итак, что-то вроде этого:
Для загрузки содержимого операции используется тег @include
в XML.
Мне нужно изменить содержимое этого NestedScrollView
на что-то другое.Поэтому я использовал это:
LayoutInflater inflater =
(LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
progressContent = inflater.inflate(R.layout.content_progress, null);
scrollView.removeView(normalContent);
scrollView.addView(progressContent);
И это работает, но он не использует ConstraintLayout
свойства progressContent правильно, он игнорирует все значения смещения и сохраняет только жестко установленные поля и отступы.
В этом вопросе люди предложили использовать «setContentView», но, поскольку мне нужно изменить только внутреннее содержимое, а не весь макет, это не правильное решение:
Какустановить макет динамически в Android
В этом предложено использовать ViewStubs
вместо @include
:
Как программно включить макет в Android?
Но это привело только к полностью нарушенному CollapsingToolbarLayout
, и параметры макета второго вида были отброшены независимо от этого.
Как правильно это сделать?