Я живу от одного RecyclerView
с GridLayout
к другому. Он отображает изображения, подобные галерее.Активность Переход между двумя RecyclerViews
RecyclerView
Родитель показывает первые 3 элемента папки, ребенок RecyclerView
показывает полное содержание в сетке ...
главный адаптер
@Override
public void onBindViewHolder(FolderViewHolder holder, int position) {
holder.transitionPairs.clear();
for (int i = 0; i < 3; i++) {
ImageView iv = holder.getIconView(i);
Image image = mItems.get(position).getImages().get(i);
holder.transitionPairs.add(new Pair(iv, image.getTransitionName()));
}
ребенка адаптер
@Override
public void onBindViewHolder(ImageViewHolder holder, int position) {
ViewCompat.setTransitionName(holder.icon, mItems.get(position).getTransitionName());
}
- оба адаптера установите ЖЕ имя перехода, он генерируется из Ури изображения, так что это, безусловно, уникальный
я начинаю вид ребенка, как следующее:
Intent intent = new Intent(getActivity(), ImagesActivity.class);
intent.putExtra("folderIndex", pos);
intent.putExtra("folder", item);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), vh.getTransitionPairs().toArray(new Pair[vh.getTransitionPairs().size()]));
getActivity().startActivity(intent, options.toBundle());
}
else
getActivity().startActivity(intent);
Пары переходов сохраняются в ViewHolder
и генерируются всякий раз, когда ViewHolder
связано, как вы можете видеть в ViewHolders
коде выше
ПРОБЛЕМА
Отображение детского вида не анимировано, анимируется ...
не знал это. Спасибо за информацию. На самом деле, я буду придерживаться только анимации перехода назад и просто забыть об анимации отображения в этом случае на данный момент ... Я не хочу создавать первые представления на подробном представлении дважды, хотя это не так много работы. В настоящее время это jsut маленькая ошибка красоты, с которой я могу жить, если она не поддерживается – prom85
только одна вещь, это также должно быть актуально для viewpager, не так ли? – prom85
Я никогда не тестировал, но я уверен, что ViewPager будет иметь ту же самую проблему – Budius