Подтвердить что ты не робот

Переходы дизайна материалов Android

Я хочу, чтобы реплицировать переходы, как описано в Material Design от Google. Это ссылка для предварительного просмотра, но в основном видео, о которых я забочусь, это эти два:

Мой вопрос в том, что такое контейнер пользовательского интерфейса? Является ли это новым действием, которое onCreate имеет анимацию для каждого элемента или это фрагмент?

В частности, на втором примере есть некоторое движение по 1-й активности, поэтому внутри onClick есть анимация, которая также создает 2-ю активность? (обратите внимание, что щелкнутое имя также перемещается, поэтому это не должно быть новым действием)

Другими словами, что должен быть макет (+ Activities, fragments), если я хочу реплицировать это?

4b9b3361

Ответ 1

Возможно, слишком поздно, но я обнаружил, что библиотека поддержки содержит ActivityOptionsCompat: https://developer.android.com/reference/android/support/v4/app/package-summary.html
Он содержит анимации активности, такие как масштабирование анимации. Надеюсь, это поможет.

Ответ 3

Я предполагаю, что они могут быть реализованы с помощью фрагментов, но я могу подозревать, что они будут отдельными действиями. Android L представляет Activity Transitions как часть анимационной структуры. В частности, там переходы могут содержать общие элементы пользовательского интерфейса, которые указывают на сопоставления между "соответствующими" представлениями в вызывающем и вызываемом действиях. Затем переход включается как часть ActivityOptions объекта, переданного в startActivity().

Идея состоит в том, чтобы достичь визуального эффекта в этих видео (то есть конкретных представлений, изменяющих позиции или измерения как часть перехода активности). Каноническим примером будет приложение "Галерея" при переходе от сетки, которая отображает все изображения для отображения определенного.

Это может быть достигнуто раньше (пожалуйста, проверьте этот ответ или это видео DevBytes от Чет Хаасе), но он был довольно сложным/взломанным, поэтому он был включен в качестве стандартного ресурса в Android L.

Проверьте документацию Activity Transitions в документации предварительного просмотра L или ActivitySceneTransitionBasic, включенную как часть образцов android-L (< также помните, что вы можете загрузить предварительный просмотр L из здесь, чтобы получить документацию для новых методов).

Ответ 4

Шаг 1. Рассмотрим, что вы переходите от одного действия к другому. Определите метод onclick для кнопки

   button= (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(getApplicationContext(), Animation.class);
               startActivity(intent, options.toBundle());
                    startActivity(intent);
               overridePendingTransition  (R.anim.right_slide_in, R.anim.right_slide_out);
            }
        });

Шаг 2. Теперь определите анимацию, необходимую для второго действия, при запуске

anim.right_slide_in

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator">
    <translate
        android:fromXDelta="100%p"
        android:toXDelta="0"
        android:duration="700"
        />
</set>