gpt4 book ai didi

android - 使用单击或滑动手势(Android)展开/折叠 CardView?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:15:14 28 4
gpt4 key购买 nike

我正在寻找一个解决方案,让我可以展开卡片 View 以查看更多信息,然后轻松折叠它。 Google Keep 有这样的卡片示例。有人知道他们是怎么做到的吗?我会创建 2 个版本的 cardview(一个折叠,一个展开),然后使用 Animator 类和手势方法在两个 View 之间进行转换吗?我正在使用 Recyclerview 来保存我的卡片 View 。

如果它完全相关,我发现了这个:http://developer.android.com/training/animation/layout.html

最佳答案

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:animateLayoutChanges="true"
android:layout_height="match_parent">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
//here put the view which is always visible
<LinearLayout
android:layout_width="match_parent"
android:visibilty="gone"
android:id="@+id/expandableLayout"
android:layout_height="wrap_content">
//here put which will collapse and expand
</LinearLayout>
</android.support.v7.widget.CardView>

在你的 arraylist 对象类中取一个 bool 值 isexpanded

  if (listobj.isexpanded)
{
holder.expandableLayout.setVisibility(View.VISIBLE);
}
else {
holder.expandableLayout.setVisibility(View.GONE);
}
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (listobj.isexpanded)
{
holder.expandableLayout.setVisibility(View.GONE);
listobj.isexpanded=false;
notifyItemChanged(position);
}
else {
holder.expandableLayout.setVisibility(View.VISIBLE);
listobj.isexpanded=true;
notifyItemChanged(position);
}
}
});

尝试这样的事情

关于android - 使用单击或滑动手势(Android)展开/折叠 CardView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31485837/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com