J'ai un recyclerView à l'intérieur d'une disposition de contraintes et je ne peux pas le faire défiler, la liste continue juste en dessous de l'écran sans possibilité de défilement. Si je transforme la disposition en disposition relative, le défilement fonctionne correctement.
comment puis-je le faire défiler?
le XML suivant montre ma mise en page, la vue du recycleur est en bas. la mise en page a une image et une description en haut de l'écran. cette configuration d'écran occupe 30% de l'écran. suivi d'un séparateur et de la vue du recycleur qui devraient occuper le reste de l'écran et qui ne peuvent pas défiler
<?xml version="1.0" encoding="utf-8"?>
<Android.support.constraint.ConstraintLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@color/gradient_top">
<Android.support.v7.widget.AppCompatImageView
Android:id="@+id/imageViewLock"
Android:layout_width="80dp"
Android:layout_height="80dp"
Android:layout_marginBottom="10dp"
Android:layout_marginTop="16dp"
app:layout_constraintBottom_toTopOf="@+id/textViewPermissionsTitle"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_phone_lock"/>
<TextView
Android:id="@+id/textViewPermissionsTitle"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="8dp"
Android:gravity="center"
Android:paddingLeft="24dp"
Android:paddingRight="24dp"
Android:text="@string/allow_permissions"
Android:textColor="@color/white"
Android:textSize="@dimen/description_text_size"
app:layout_constraintBottom_toTopOf="@+id/guideline1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"/>
<Android.support.constraint.Guideline
Android:id="@+id/guideline1"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="horizontal"
app:layout_constraintGuide_percent="0.3"/>
<View
Android:id="@+id/viewSeparator"
Android:layout_width="match_parent"
Android:layout_height="0.7dp"
Android:layout_marginTop="10dp"
Android:background="@color/bright_blue"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@+id/guideline1"/>
<Android.support.v7.widget.RecyclerView
Android:id="@+id/recyclerViewPermissions"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:scrollbarSize="1dp"
Android:scrollbarThumbVertical="@color/white"
Android:scrollbars="vertical"
app:layout_constraintTop_toBottomOf="@+id/viewSeparator" />
</Android.support.constraint.ConstraintLayout>
Cela a fonctionné pour moi:
<?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:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.constraintlayout.widget.ConstraintLayout
Android:id="@+id/constraintLayout2"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
..... other controls ....
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.recyclerview.widget.RecyclerView
Android:id="@+id/recyclerView"
Android:layout_width="match_parent"
Android:layout_height="0dp"
Android:layout_marginStart="1dp"
Android:layout_marginEnd="1dp"
Android:layout_marginBottom="1dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout2" />
</androidx.constraintlayout.widget.ConstraintLayout>