<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/bottomSheetLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_top_round_corner">
<androidx.cardview.widget.CardView
android:id="@+id/cardViewInnerProductContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
app:cardElevation="10dp"
app:cardCornerRadius="10dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/closeIv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="12dp"
android:src="@drawable/ic_close_dark"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/changeAddressTitleTv"
style="@style/FontLocalizedBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="7dp"
android:paddingStart="12dp"
android:text="@string/changeaddress_popup_change_address"
android:textColor="@color/colorTextPrimary"
android:textSize="20sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/closeIv" />
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/colorDividerLight"
app:layout_constraintTop_toBottomOf="@id/closeIv" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/locationRv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider"
tools:listitem="@layout/item_choose_address" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/addressesRv"
android:layout_width="match_parent"
android:layout_height="200dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:paddingBottom="4dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/locationRv"
tools:listitem="@layout/item_choose_address" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>
val addressesLayoutManager = LinearLayoutManager(context)
addressesLayoutManager.orientation = RecyclerView.VERTICAL
addressesRv.layoutManager = addressesLayoutManager
addressesRv
recycleView没有滚动。我在底部对话框中设置了此设置。只是采用200dp的高度大小,只显示适合的项目,我无法滚动浏览所有项目。
我尝试取出CardView
,删除视图中的其他回收站,将addressesRv
包装在NestedScrollLayout内,但是没有一种情况下滚动有效。
编辑:
答案 0 :(得分:1)
因为您在同一页面中使用多个{"file-name":"test-sqs-1","user-id":"1,2,3"}
,并且我认为两个Recyclerview
都具有垂直方向的LinearLayout管理器。我发现您的第一个回收器视图高度为recyclerView
,但是第二个是固定的。因此,这里有一个更改滚动问题。因此,这里需要wrapContent
。
nestedScrolview
会做什么?:
答案:它将帮助您滚动浏览两个recyclerview。
有关问题的更多讨论:
假设您的第一个recyclerView具有10个元素,并且这些元素覆盖全屏,但是第二个recyclerView也具有10个元素。现在,两个recyclerView都不将所有元素放在一起。因为没有nestedScrollView
代码示例:
nestedScrollView
答案 1 :(得分:1)
如果放置NestedScrollview,请将其删除。
并将其添加到您的地址中Rv recyclerview
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
答案 2 :(得分:0)
尝试此操作将约束布局放置在CoOrdinator布局中
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.constraintlayout.widget.ConstraintLayout>
答案 3 :(得分:0)
如何在RecyclerView中添加类?您必须在类中设置LayoutManager。示例:
recyclerView = findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new StaggeredGridLayoutManager(1,StaggeredGridLayoutManager.HORIZONTAL));