Сбой при анимации вложенных представлений в общем элементе Переход активности?

Я возился с новыми API в Android 5.0 и пытался выяснить, возможно ли анимировать обаViewGroup и один из его детей отдельно как общие элементы во времяПереход деятельности.

На скриншотах ниже приведен упрощенный пример того, чего я пытаюсь достичь:

В первом упражнении темно-серая рамка представляет собойViewGroup по центру на экране, и красный прямоугольник является его дочернимView (код XML макета, который я использую, можно найтиВот). Когда пользователь нажимает на темно-серый блок, темно-серый блок должен постепенно увеличиваться, чтобы заполнить фон второго действия. В то же время красное поле должно постепенно масштабироваться и перемещаться в верхнем левом углу второго упражнения.

Код активности и анимации

Activity код, который я использую для выполнения перехода, прост:

/** FirstActivity.java */
public class FirstActivity extends Activity implements View.OnClickListener {
    private View mOuterBox, mInnerBox;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS);
        getWindow().setSharedElementExitTransition(new ChangeBounds());
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first);
        mOuterBox = findViewById(R.id.outer_box);
        mInnerBox = findViewById(R.id.inner_box);
        mOuterBox.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        Pair<View, String> outerBox = Pair.create(mOuterBox, mOuterBox.getTransitionName());
        Pair<View, String> innerBox = Pair.create(mInnerBox, mInnerBox.getTransitionName());
        Bundle bundle = ActivityOptions.makeSceneTransitionAnimation(this, outerBox, innerBox).toBundle();
        startActivity(new Intent(this, SecondActivity.class), bundle);
    }
}

/** SecondActivity.java */
public class SecondActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS);
        getWindow().setSharedElementEnterTransition(new ChangeBounds());
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
    }
}
Эта проблема

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

Мой вопрос

Можно ли оживить какViewGroup и один / некоторые / все его дети рассматривают независимо как общие элементы вActivity переход? Если так, что я делаю неправильно и что я могу сделать, чтобы взгляды детей также были анимированными?

Если у вас возникли проблемы с выполнением моих описаний, полный исходный код этого примера проекта доступен наGitHub и работоспособный APK доступен для скачиванияВот (вам понадобится физическое устройство или эмулятор под управлением Android 5.0 для запуска APK).

Ответы на вопрос(1)

Ваш ответ на вопрос