java - 如何通过单击使 Cardview 展开?

标签 java android firebase

我试图在点击时展开某些 Cardview。我能够通过将原始 Cardview 大小设置为 50dp 然后将其高度设置为 WRAP_CONTENT 来实现此目的,如下图所示:

enter image description here

代码如下:

holder.itemView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        holder.cvCard.setLayoutParams(new ConstraintLayout.LayoutParams(holder.cvCard.getWidth(), ConstraintLayout.LayoutParams.WRAP_CONTENT));
    }
});

如您所见,问题在于通过更改 Cardview 的大小,它会失去边距并且看起来会错位。你们能帮帮我吗?

最佳答案

这样做

holder.itemView.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    if(YOURCARDVIEW.getVisibility() == View.VISIBLE) {
     YOURCARDVIEW.setVisibility(View.GONE);
    }else {
     YOURCARDVIEW.setVisibility(View.VISIBLE);
    }
   });

并且在您的 XML 中保持 visibility= gone

关于java - 如何通过单击使 Cardview 展开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54394225/

相关文章:

android - firebase sendUnsentReports() 仅在重启后发送异常

java - iPhone和Android的加密方式

java - 无法获取 ListAdapter 类中的类上下文

android - 从 Android 客户端连接到 Google Cloud Storage 的正确方法

firebase - 在 Firestore 中引用 Firebase 用户对象

firebase - 与 FCM 通知捆绑在一起的 PWA

java - Java中将十六进制字符串转换为十六进制字符串字节数组

java - 数组相乘越界异常

java - 从 ByteBuffer 中获取 IP 包数据

java - 在 Android 上使用 BridJ 时出现 UsatisfiedLinkError