Ran*_*ing 11 android android-recyclerview
我试图在RecyclerView上使用共享元素转换但它似乎不起作用.
这是我使用的适配器的一部分makeSceneTransitionAnimation():
public void onBindViewHolder(final BookViewHolder holder, final int position) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(context, DetailsActivity.class);
ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation((Activity)context , holder.smallThumbnail, "thumbnailTransition");
context.startActivity(intent, optionsCompat.toBundle());
}
}
}
Run Code Online (Sandbox Code Playgroud)
Man*_*tel 15
在你的适配器
holder.smallThumbnail.setTransitionName("thumbnailTransition");
Pair<View, String> pair1 = Pair.create((View) holder.smallThumbnail, holder.smallThumbnail.getTransitionName());
ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) mContext, pair1, pair2);
mContext.startActivity(intent, optionsCompat.toBundle());
Run Code Online (Sandbox Code Playgroud)
在您的详细活动中
getWindow().setSharedElementEnterTransition(TransitionInflater.from(this).inflateTransition(R.transition.shared_element_transation));
mainImage.setTransitionName("thumbnailTransition");
Run Code Online (Sandbox Code Playgroud)
此主图像是imageview,您希望在其中转换以前的活动缩略图
shared_element_transation在res> transition中创建一个xml
<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500">
<changeBounds />
<fade />
</transitionSet>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10198 次 |
| 最近记录: |