Falha ao animar vistas aninhadas em um elemento compartilhado Transição de atividade?

Venho brincando com as novas APIs no Android 5.0 e tentando descobrir se é possível animar ou não umViewGroup e um de seus filhos separadamente como sha, elementos vermelhos durante umTransição de atividade.

As capturas de tela abaixo dão um exemplo simplificado do que estou tentando alcançar:

Na primeira atividade, a caixa cinza escura é umaViewGroup centralizado na tela e a caixa vermelha é seu filhoView (o código XML do layout que estou usando pode ser encontradoaqui) Quando o usuário clica na caixa cinza escura, a caixa cinza escura deve aumentar gradualmente para preencher o segundo plano da atividade. Ao mesmo tempo, a caixa vermelha deve aumentar gradualmente e se reposicionar no canto superior esquerdo da segunda atividade.

O Código de Atividade e Animação

oActivity O código que estou usando para realizar a transição é simples:

/** 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);
    }
}
O problema

Quando clico na caixa cinza escura na primeira atividade, a transição do elemento compartilhado é iniciada e a caixa cinza escura aumenta de tamanho para preencher o segundo plano da segunda atividade.No entanto, a caixa vermelha não parece animar. Assim que a transição começa, a caixa vermelha é redimensionada abruptamente e se posiciona em seu local final na segunda atividade antes que a caixa cinza termine de animar.

Minha pergunta

É possível animar umViewGroup e um / alguns / todos os seus filhos vêem independentemente como elementos compartilhados em umActivity transição? Nesse caso, o que estou fazendo de errado e o que posso fazer para garantir que as visualizações das crianças também sejam animadas?

Se você teve problemas para seguir minhas descrições, o código fonte completo deste exemplo de projeto está disponível emGitHub e um APK executável está disponível para downloadaqui (você precisará de um dispositivo físico ou emulador com Android 5.0 para executar o APK).

questionAnswers(1)

yourAnswerToTheQuestion