Android 列表片段和片段之间的共享元素转换
我想通过单击列表项从列表片段项转换到另一个片段中的视图寻呼机 我做了这些步骤,但没有动作。片段a变为片段b,但没有动作 1-在列表片段项中单击我添加了此代码Android 列表片段和片段之间的共享元素转换,android,animation,transition,Android,Animation,Transition,我想通过单击列表项从列表片段项转换到另一个片段中的视图寻呼机 我做了这些步骤,但没有动作。片段a变为片段b,但没有动作 1-在列表片段项中单击我添加了此代码 LayoutInflater inflater=MainActivity.this.getLayoutInflater(); View row=inflater.inflate(R.layout.itemoflist,null); final ImageView imageView =
LayoutInflater inflater=MainActivity.this.getLayoutInflater();
View row=inflater.inflate(R.layout.itemoflist,null);
final ImageView imageView = (ImageView) row.findViewById(R.id.itemimage);
fragmentb newfrinfo = new fragmentb();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getSupportFragmentManager()
.beginTransaction()
.addSharedElement(imageView, imageView.getTransitionName())
.replace(R.id.frlist,
newfrinfo,
fragmentb.class.getSimpleName())
.addToBackStack(null)
.commit();
2-i在项目设计的xml文件中的imageview和片段b中的viewpage中都添加了转换名称
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
setSharedElementEnterTransition(TransitionInflater.from(getContext()).inflateTransition(android.R.transition.move));
}
}
3-在片段b中添加此代码
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
setSharedElementEnterTransition(TransitionInflater.from(getContext()).inflateTransition(android.R.transition.move));
}
}
4-I在res文件夹中设置一个方向,并将其名称设置为“transition”
5-i在转换目录中创建了一个xml文件,并将其命名为“move”
6-在“move.xml”中复制此代码