【问题标题】:Animation cannot resolve?动画无法解决?
【发布时间】:2016-11-27 20:06:36
【问题描述】:

尝试做一个简单的共享元素动画,当只共享一个元素时效果很好。我正在尝试通过共享两个元素来进行实验,这就是问题所在:

      ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(Main2Activity.this, Pair.create((View) back, "agreedName1"), Pair.create((View) animate, "agreedName2"));

 Pair<View, String> h = Pair.create((View) back, "agreedName1");
            Pair<View, String> k = Pair.create((View) animate, "agreedName1");
            ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(Main2Activity.this, h, k);

两者都不起作用,因为显然:

错误:(35, 54) 错误: 找不到合适的方法 makeSceneTransitionAnimation(Main2Activity,android.support.v4.util.Pair,android.support.v4.util.Pair) 方法 ActivityOptions.makeSceneTransitionAnimation(Activity,View,String) 是 不适用(参数不匹配; android.support.v4.util.Pair 无法转换为 查看)方法 ActivityOptions.makeSceneTransitionAnimation(Activity,android.util.Pair...) 不适用(可变参数不匹配; android.support.v4.util.Pair 无法转换为 android.util.Pair)

尽管backanimate 都是按钮(我什至尝试将它们类型转换为视图)。


同样,这仅适用于一个视图动画,如下所示:

 ActivityOptionsCompat options1 = ActivityOptionsCompat.
                    makeSceneTransitionAnimation(this, animate, "transition1"); //CANT HAVE TWO TRANSITIONS WITHOUT PAIR HOWEVER
            startActivity(intent, options.toBundle());

如何成功执行两个元素的共享动画?

我这样做的方式(在我的前两个示例中)是 shared element transition. 上的开发人员文档中所说的方式

文档明确说明:

在两个具有 多个共享元素,在两者中定义共享元素 具有 android:transitionName 属性的布局(或使用 View.setTransitionName() 两个活动中的方法),并创建一个 ActivityOptions 对象如下:

> ActivityOptions options =
> ActivityOptions.makeSceneTransitionAnimation(this,
>         Pair.create(view1, "agreedName1"),
>         Pair.create(view2, "agreedName2"));

我在做什么。如果我做的一切都正确,为什么会出现这个错误?

【问题讨论】:

    标签: java android xml animation transition


    【解决方案1】:

    替换为班级顶部:

    import android.support.v4.util.Pair

    通过

    import android.util.Pair

    它应该可以工作。您只是使用了错误的配对。

    【讨论】:

      【解决方案2】:

      替换

      import android.util.Pair 
      

      import androidx.core.util.Pair;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-24
        • 2018-06-29
        • 1970-01-01
        • 2016-08-15
        • 2017-12-12
        • 2011-12-28
        • 2012-04-02
        • 1970-01-01
        相关资源
        最近更新 更多