【发布时间】:2018-07-24 17:03:56
【问题描述】:
我正在研究 android 共享元素转换。我尝试了下面的代码,只有第二个活动会闪烁打开。我在两个图像视图中都传递了相同的转换名称,但仍然无法正常工作。
imageview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
View imageView = findViewById(R.id.imageView);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Intent intent = new Intent(StartActivity.this, EndActivity.class);
Pair<View, String> pair1 = Pair.create(imageView, imageView.getTransitionName());
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(StartActivity.this, pair1);
startActivity(intent, options.toBundle());
} else {
Intent intent = new Intent(StartActivity.this, EndActivity.class);
startActivity(intent);
}
}
});
【问题讨论】:
-
只是为了弄清楚是哪一个问题?共享元素过渡是不工作还是工作但闪烁?
-
活动闪烁并进入第二个活动,图像视图也没有进行任何转换。
-
您是否也为第二个活动的共享元素设置了TransitionName?
-
不,我在 xml 中使用属性 android:transitionName 定义它。
-
使用此方法stackoverflow.com/a/9166354/12464160 使用 1000ms 延迟启动活动