gpt4 book ai didi

java - RecyclerView 中的 CardView 垂直滚动

转载 作者:行者123 更新时间:2023-12-05 00:04:52 24 4
gpt4 key购买 nike

我正在创建一个 android 应用程序,它需要在 recyclerview 中垂直滚动的 cardview。就像在垂直滚动的多张卡片中一样。但是我不能在一个屏幕上得到一张以上的卡片。我不知道自己做错了什么。如何让卡片相邻滚动?

MainActivity 设置回收器 View 布局

public class MainActivity extends AppCompatActivity {

RecyclerView recyclerView;
CardView cardView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

recyclerView=findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
CustomAdapter adapter =new CustomAdapter(this);



LinearLayoutManager layoutManager =new LinearLayoutManager(this,LinearLayoutManager.VERTICAL ,false );
recyclerView.setLayoutManager(layoutManager );
recyclerView.setAdapter(adapter);
recyclerView.setItemAnimator(new DefaultItemAnimator());


}
}

Card_layout 是一个线性布局,卡片布局包含一个线性布局,包含三个纯文本和一个按钮。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/card"
android:background="@color/card_bg"
android:elevation="10dp"
app:cardCornerRadius="10dp">


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


<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name" />

<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name" />

<EditText
android:id="@+id/editText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name" />

<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />

</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>

主要 Activity 包含回收 View 。它是相对布局。适配器类在 recyclerview 中保存 cardview 布局

<androidx.constraintlayout.widget.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:layout_height="match_parent"
tools:context=".MainActivity">


<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
/>

</androidx.constraintlayout.widget.ConstraintLayout>

最佳答案

android:layout_height="match_parent" 更改为 android:layout_height="wrap_content" 在 Root View-Group LinearLayout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"

// only change this below line
android:layout_height="wrap_content">

<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/card"
android:background="@color/card_bg"
android:elevation="10dp"
app:cardCornerRadius="10dp">


//rest of the code here



</androidx.cardview.widget.CardView>
</LinearLayout>

关于java - RecyclerView 中的 CardView 垂直滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61657783/

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