28

У меня есть TextView в моей деятельности A. Как я могу сделать переход общего элемента TextView из активности A и заголовок CollapsingToolbarLayout.setTitle() из активности B?CollapsingToolbarLayout заголовок как переход общего элемента

Есть ли способ получить название его названия id от CollapsingToolbarLayout Исходный код?

Спасибо за помощь!

+0

В теории вы можете вставить фиктивный TextView с точно такой же позицией, цветом и размером внутри вашего CollapsingToolbarLayout. Затем, сразу после окончания перехода, вы скрываете его, и это создаст иллюзию. Но у меня были проблемы с правильным позиционированием внутри CollapsingToolbarLayout относительно дна. Это всегда было некорректно. – WindRider

+4

@WindRider Да, я почти так же достигаю этого эффекта. Но лучше не использовать встроенный заголовок в сворачивающемся макете, а создать собственный заголовок TextView с поведением координатора, как здесь: https://github.com/saulmm/CoordinatorBehaviorExample и легко использовать его с переходами общих элементов. – Augusent

+0

10x для хорошего совета и примера! – WindRider

ответ

1

Вы можете просто использовать свертывающуюся панель инструментов в качестве цели анимации, и она выглядит нормально, но также оживляет кнопку «Назад» или индикатор выдвижного ящика, который может быть не таким, каким вы хотите.

1

У меня была аналогичная проблема. Мое приложение имело CollapsingToolbar, в котором было изображение, и я хотел разделить изображение, которое происходило из обычного ListView, в CollapsingToolbar.

Вам необходимо создать пользовательский TextView и использовать его в качестве замены фактического заголовка в CollapsingToolbar. Также необходимо установить фактическое название для пустой строки, чтобы она выглядела скрытой.

Вы должны посмотреть на this ответ, где показано, как использовать пользовательский вид в CollapsingToolbar со слушателем, который необходим для репликации анимаций обычного названия. Это может выглядеть не так, но я не могу думать о лучшей идее. Надеюсь, это было полезно.