Java 类似facebook的动画在Recyclerview上的反应

Java 类似facebook的动画在Recyclerview上的反应,java,android,kotlin,android-recyclerview,android-animation,Java,Android,Kotlin,Android Recyclerview,Android Animation,开发一个应用程序,其中有一个带有一些CardsView的recyclerview。在每张卡片上都有一些图片、文本视图和相对布局,我希望在触摸时应用类似facebook的效果 当您触摸屏幕时,卡将展开,其他卡将并排保持其原始大小 当您将手指从屏幕上移开时,卡将恢复到原来的大小 到目前为止,我所拥有的: //rv recyclerView = view.findViewById(R.id.recyclerView) recyclerView.setHasFix

开发一个应用程序,其中有一个带有一些CardsView的recyclerview。在每张卡片上都有一些图片、文本视图和相对布局,我希望在触摸时应用类似facebook的效果

  • 当您触摸屏幕时,卡将展开,其他卡将并排保持其原始大小
  • 当您将手指从屏幕上移开时,卡将恢复到原来的大小
到目前为止,我所拥有的:

//rv
        recyclerView = view.findViewById(R.id.recyclerView)

        recyclerView.setHasFixedSize(false)
        //layoutManager = LinearLayoutManager(activity)

        recyclerView.layoutManager = LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false)
适配器:

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {

    Context context;
    List<Content> lista;


    public MyAdapter(Context context, List<Content> lista) {
        this.context = context;
        this.lista = lista;
    }

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int position) {
        Content content = lista.get(position);

        if (!content.getTitulo().isEmpty()) {
            myViewHolder.titulo.setText(content.getTitulo);
        }

        if (!noticia.getThumb().isEmpty()) {
            Glide.with(context).load(content.getThumb()).into(myViewHolder.imageThumb);
        }

        if (!content.getIcone().isEmpty()) {
            Glide.with(context).load(content.getIcone()).into(myViewHolder.icone);
        }

        if (!content.getDescricao().isEmpty()) {
            myViewHolder.textDescricao.setText(content.getDescricao());
        }

        if (!content.getData().isEmpty()) {
            myViewHolder.data.setText(content.getData());
        }

        if (!content.getUrl().isEmpty()) {
            myViewHolder.url = content.getUrl();
        }

        if (!content.getNomeSite().isEmpty()) {


            myViewHolder.nomeSite.setText(content.getNomeSite());
        }

        myViewHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                Toast.makeText(context,"OnLongClick",Toast.LENGTH_SHORT).show();
                return false;
            }
        });

    }
公共类MyAdapter扩展了RecyclerView.Adapter{ 语境; 清单a; 公共MyAdapter(上下文,列表A){ this.context=上下文; this.lista=lista; } @凌驾 public void onBindViewHolder(@NonNull MyViewHolder MyViewHolder,int位置){ Content=lista.get(位置); 如果(!content.getitulo().isEmpty()){ myViewHolder.titulo.setText(content.getitulo); } 如果(!noticia.getThumb().isEmpty()){ Glide.with(context).load(content.getThumb()).into(myViewHolder.imageThumb); } 如果(!content.getIcone().isEmpty()){ Glide.with(context).load(content.getIcone())到(myViewHolder.icone)中; } 如果(!content.getdescripcao().isEmpty()){ myViewHolder.textDescriptCao.setText(content.getDescriptCao()); } 如果(!content.getData().isEmpty()){ myViewHolder.data.setText(content.getData()); } 如果(!content.getUrl().isEmpty()){ myViewHolder.url=content.getUrl(); } 如果(!content.getNomeSite().isEmpty()){ myViewHolder.nomeSite.setText(content.getNomeSite()); } myViewHolder.itemView.setOnLongClickListener(新视图.OnLongClickListener(){ @凌驾 仅长按公共布尔值(视图){ Toast.makeText(上下文“OnLongClick”,Toast.LENGTH_SHORT).show(); 返回false; } }); }
我怎样才能做到这一点呢?

我想你可以用图书馆来实现这一点。以下是其中的一些:


或者你可以使用这个答案

你真的做到了吗?你提供的链接中的那一个。如果是的话,你能分享源代码吗?我希望开发同样的行为,但无法开始