gpt4 book ai didi

android - 从 RecyclerView 到 Activity 的共享元素转换不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 07:44:22 24 4
gpt4 key购买 nike

我想使用从 RecyclerView 项目到另一个 Activity 的共享元素转换,但它不起作用。 RecyclerViewfragment 中,这是 RecyclerView item 的 onClick 监听器

  @Override 
public void onProductItemClick(int pos, PromoORProduct promoORProduct, ImageView shareImageView) {

Intent intent = new Intent(getActivity(), ProductPreviewAct_.class);
intent.putExtra("OBJECT", promoORProduct);
intent.putExtra(ProductPreviewAct.SMALL_IMAGE_TRANSITION_NAME, "small_img" + pos);
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), shareImageView, "small_img" + pos);
getActivity().startActivity(intent, options.toBundle());
}

监听器是从我的适配器的 onBindViewHolder 调用的

  @Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
if (holder instanceof ProductsViewHolder) {
final PromoORProduct user = items.get(position);
ProductsViewHolder userViewHolder = (ProductsViewHolder) holder;
ViewCompat.setTransitionName(userViewHolder.imgSmall, "small_img"+position);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
productsItemClickListener.onProductItemClick(holder.getAdapterPosition(), user, ((ProductsViewHolder) holder).imgSmall);
}
});
userViewHolder.bind(user, this);
} else if (holder instanceof LoadingViewHolder) {
LoadingViewHolder loadingViewHolder = (LoadingViewHolder) holder;
loadingViewHolder.progressBar1.setIndeterminate(true);
}
}

在我调用的 Activity 的 onCreate 中

    @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_product_preview);
imgSmall = findViewById(R.id.imgSmall2);
Bundle extras = getIntent().getExtras();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setSharedElementEnterTransition(TransitionInflater.from(this).inflateTransition(R.transition.shared_element_transaction));
String imageTransitionName = extras.getString(SMALL_IMAGE_TRANSITION_NAME);
imgSmall.setTransitionName(imageTransitionName);
}

}

输出很奇怪,图像在 fragment 中淡出并在被调用 Activity 的 ImageView 中弹出,退出时相同。有任何想法吗...非常感谢

最佳答案

经过几天的努力找到它,以防其他人有类似的问题......

检查你的manifes的应用我设置了 android:hardwareAccelerated="false"删除它,一切都像一个魅力

关于android - 从 RecyclerView 到 Activity 的共享元素转换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47771639/

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