gpt4 book ai didi

java - android shared element transition start transition有延迟

转载 作者:行者123 更新时间:2023-12-05 05:30:28 25 4
gpt4 key购买 nike

我将共享元素转换与 recyclerview 一起使用,如您在此 gif 中所见:

enter image description here

开始共享元素转换有一个延迟,这与动画的速度无关,它就像开始时的加载延迟,如果你注意到,有一个瞬间整个背景消失,只有图像保留在那里,那moment是我要去掉的,也就是我说的延迟。我怎样才能删除它并使整个事情更顺利?现在真的很难看,这是我第一次做这个动画,所以如果你有什么建议,我将不胜感激。

这是在我的适配器中处理共享元素转换的代码:

holder.image.setTransitionName("example_transition");
Intent intent = new Intent(context, ShowElementActivity.class);
intent.putExtra("Element", elemento);
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(
(AnimeActivity)context, holder.image, ViewCompat.getTransitionName(holder.image));
context.startActivity(intent, options.toBundle());

这是在目标内部处理它的代码:

postponeEnterTransition();
Glide.with(this)
.load(elemento.image_url)
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
supportStartPostponedEnterTransition();
return false;
}

@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
startPostponedEnterTransition();
return false;
}
})
.into(showelement_image);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().getSharedElementEnterTransition().setDuration(200);
getWindow().getSharedElementReturnTransition().setDuration(200)
.setInterpolator(new DecelerateInterpolator());
}
Fade fade = new Fade();
fade.excludeTarget(android.R.id.statusBarBackground, true);
fade.excludeTarget(android.R.id.navigationBarBackground, true);
getWindow().setEnterTransition(fade);
getWindow().setExitTransition(fade);

最佳答案

此延迟是 new Activity 的成本,而不是 Transition 的成本,如果您不使用 Animation,您将看到相同的性能。所以使用Fragment而不是Activity

由于新的 Activity 性能,我正在通过 Single ActivityMultiple Fragments 开发应用程序以获得最佳性能。

关于java - android shared element transition start transition有延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74659324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com