动画,如 Recyclerview 上的 facebook 反应



开发一个应用程序,其中有一个带有一些卡片视图的回收器视图。每张卡片上都有一些图像,文本视图和相对布局,我想在触摸时应用类似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;
}
});
}

我怎样才能产生这种效果?

我认为你可以使用一个库。以下是其中的一些:

旋转木马回收器视图

旋转木马回收器视图 2

或者你可以用这个答案

最新更新