RecyclerView下的视图未显示(仅在Android Studio预览中显示)

时间:2018-08-06 16:11:04

标签: android android-recyclerview android-nestedscrollview

这已经让我发疯了一段时间。我在下面有一个RecyclerView和TextView。但是,我可以看到RecyclerView上方的所有内容,但下方看不到任何内容。

下面是我的布局组成,我只包含了相关代码

<android.support.v4.widget.NestedScrollView 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_height="match_parent"
    android:layout_width="match_parent"
    >

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:context=".HomeFragment">

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:layout_marginTop="@dimen/activity_vertical_margin"



<android.support.v7.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="40dp"
            android:layout_marginBottom="8dp"
            android:clipToPadding="false"
            android:scrollbars="horizontal"
            android:background="#f1f5f8"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/someTextView"

          />



<TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:fontFamily="@font/droid_serif"
            android:text="@string/browse"
            android:textSize="18sp"
            android:layout_marginTop="40dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/recycler_view" />


    </android.support.constraint.ConstraintLayout>

</FrameLayout>

</android.support.v4.widget.NestedScrollView>

我尝试了一些在互联网上发现的方法,例如用ScrollView替换了原来的NestedScrollView,因为我的RecycleView水平滚动但无济于事。

我也曾尝试将此app:layout_behavior="@string/appbar_scrolling_view_behavior"添加到XML的RecyclerView中,但输出也相同。

我非常感谢您的帮助,因为我没有在互联网或像我这样的案例中找到任何案例。请注意,这不是完整的布局文件。 RecyclerView上方还有其他视图,但是这些视图没有任何问题地显示,因此我没有放置它们的代码。让我知道您是否需要其他信息。

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试将约束布局更改为linearlayout(垂直方向)。 像这样

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



         <android.support.v7.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="40dp"
            android:layout_marginBottom="8dp"
            android:clipToPadding="false"
            android:scrollbars="horizontal"
            android:background="#f1f5f8"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/someTextView"

          />



          <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:fontFamily="@font/droid_serif"
            android:text="@string/browse"
            android:textSize="18sp"
            android:layout_marginTop="40dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/recycler_view" />


    </LinearLayout>

答案 1 :(得分:0)

为RecyclereView下面的TextView设置ID为“ bottomTextView”, 为RecyclerView添加app:layout_constraintBottom_toTopOf="bottomTextView"