In the image below you can see the RecyclerView
extends below my screen. This is the reason why I can't see the last item. I want only my RecyclerView
to be scrollable.
Can I solve this with the xml only?
This is my_fragment.xml
.
<?xml version="1.0" encoding="utf-8"?>
<layout 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"
tools:context=".screens.mijnhuis.HuisFragment">
<data>
<import type="android.view.View"/>
<import type="android.text.TextUtils"/>
<variable
name="varName"
type="be.vives.ti.summatieve.screens.mijnhuis.HuisVM"/>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical">
<TextView
android:id="@+id/adres"
style="@style/MainText"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_marginTop="50dp"
android:text='@{TextUtils.isEmpty(varName.huis.straat) ? "U heeft nog geen adres ingesgteld":@string/adres(varName.huis.straat, varName.huis.nummer, varName.huis.gemeente, varName.huis.postcode)}'
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button2"
style="@style/btn"
android:layout_marginStart="20dp"
android:onClick="@{() -> varName.btnNavToEditHuis()}"
android:text="@string/edit"
app:layout_constraintStart_toEndOf="@+id/button3"
app:layout_constraintTop_toBottomOf="@+id/adres" />
<Button
android:id="@+id/button3"
style="@style/btn"
android:layout_marginEnd="110dp"
android:onClick="@{() -> varName.btnNavToAdd()}"
android:text="@string/addDak"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/button2" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/list"
android:name="be.vives.ti.summatieve.HuisFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
app:layoutManager="LinearLayoutManager"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button3"
tools:context=".screens.mijnHuis.HuisFragment"
tools:listitem="@layout/detail_dak" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
In this image, you can see that my RecyclerView
extends under my screen.
You are missing a bottom constraint. Try setting like this:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/list"
android:name="be.vives.ti.summatieve.HuisFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
app:layoutManager="LinearLayoutManager"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button3"
app:layout_constraintBottom_toBottomOf="parent"
tools:context=".screens.mijnHuis.HuisFragment"
tools:listitem="@layout/detail_dak" />