Java 类似facebook的动画在Recyclerview上的反应
开发一个应用程序,其中有一个带有一些CardsView的recyclerview。在每张卡片上都有一些图片、文本视图和相对布局,我希望在触摸时应用类似facebook的效果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
- 当您触摸屏幕时,卡将展开,其他卡将并排保持其原始大小
- 当您将手指从屏幕上移开时,卡将恢复到原来的大小
//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;
}
});
}
我怎样才能做到这一点呢?我想你可以用图书馆来实现这一点。以下是其中的一些:
或者你可以使用这个答案你真的做到了吗?你提供的链接中的那一个。如果是的话,你能分享源代码吗?我希望开发同样的行为,但无法开始