如何将makeSceneTransitionAnimation转换为圆形,而不是矩形?

Waz*_*_Be 5 android android-5.0-lollipop activity-transition circularreveal

我目前正在尝试在我的FAB和另一个Activity之间创建一个循环过渡.

根据我在文档中提到的内容,我应该以类似的方式使用makeSceneTransitionAnimation:

public void onFabClicked(View v){
    try {
        Intent intent = new Intent(this, SearchActivity.class);
        ActivityOptions options = ActivityOptions
                .makeSceneTransitionAnimation(this, v, "reveal");
        startActivity(intent, options.toBundle());
    } catch (Exception e) {
        // makeSceneTransitionAnimation not supported, maybe a check of SDK level is enough to avoid catching an error?
        Intent intent = new Intent(this, SearchActivity.class);
        startActivity(intent);
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,当前动画在动画期间显示一个矩形.

怎么可能把它变成我们喜欢棒棒糖的美丽圆形画面?

谢谢.

编辑:

我试图实现这一点(除了颜色应该全屏,但你得到了点......)): 在此输入图像描述

我真正得到的是:

在此输入图像描述

Waz*_*_Be 3

好的,我用这个作为例子:它工作正常:

来自 saulmm 的 Github 代码

但是......是的,这很简单并且工作正常,但我想这并不是实现该效果的最有效方法。在布局中添加额外的视图并利用可见性可能不是最佳方法。

乔治山实施起来遇到了很多麻烦的解决方案但由于这个解决方案是由在 Android UI Toolkit 团队工作的 Google 软件工程师编写的,并由另一位 Google 工程师 Alex 建议,我想我应该花更多时间在它上面,因为它不需要额外的视图在我的布局中...

第二个对我来说有点难,但会努力的。

无论如何,问题是解决了。