如何用 RecyclerView 填充屏幕的其余部分?
How to fill the rest of the screen with RecyclerVeiw?
在下图中,您可以看到 RecyclerView
延伸到我的屏幕下方。这就是为什么我看不到最后一项的原因。我只希望 RecyclerView
可以滚动。
我可以只用 xml 解决这个问题吗?
这是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>
在此图像中,您可以看到我的 RecyclerView
延伸到我的屏幕下方。
Image
欢迎 Bjop,试试这个:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/list"
android:name="be.vives.ti.summatieve.HuisFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
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.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" />
在下图中,您可以看到 RecyclerView
延伸到我的屏幕下方。这就是为什么我看不到最后一项的原因。我只希望 RecyclerView
可以滚动。
我可以只用 xml 解决这个问题吗?
这是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>
在此图像中,您可以看到我的 RecyclerView
延伸到我的屏幕下方。
Image
欢迎 Bjop,试试这个:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/list"
android:name="be.vives.ti.summatieve.HuisFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
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.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" />