回收者视图上方的片段未显示

时间:2015-10-30 08:22:44

标签: android android-layout android-fragments android-recyclerview

我已经搜索了有关此问题的解决方案,但无法找到任何解决方案。我有一个片段,位于recyclerView上方。我在这里使用的片段是一个来自库的片段。我必须使用recyclerview显示View。我已经完成了它的工作正常。但新要求是必须使用recyclerview滚动。因此,我遵循this解决方案。它看起来很好,但它没有显示整个片段如果我使用布局高度来匹配父或包装内容。但是,如果我为该片段使用像height = 300dp这样的值,那么它就会显示出来。但我不想要它必须扩展和展示任何人都可以帮我解决这个问题吗?

这是我的fragment.xml

<fragment  android:id="@+id/chart"
            class="com.shinobicontrols.charts.ChartFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center" />

和recyclerviewLayout.xml

<LinearLayout
                android:id="@+id/listViewLayout"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:animateLayoutChanges="true">

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/recyclerView1"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" />
            </LinearLayout>

由于

3 个答案:

答案 0 :(得分:1)

如果你想要两者都在同一个屏幕上,你应该做类似的事情:

<RelativeLayout
            android:id="@+id/relativeViewLayout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:animateLayoutChanges="true">

            <fragment  android:id="@+id/chart"
                class="com.shinobicontrols.charts.ChartFragment"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center" />

            <android.support.v7.widget.RecyclerView
                android:id="@+id/recyclerView1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:below="@+id/chart"/>
</RelativeLayout>

如果这不是您想要的,我不明白这个问题。

答案 1 :(得分:1)

请尝试使用这样的..它对我有用

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"     android:layout_width="match_parent"
android:layout_height="match_parent"    android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<fragment  android:id="@+id/chart"
            class="com.shinobicontrols.charts.ChartFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:below="@+id/chart"/>


</RelativeLayout> </ScrollView>

答案 2 :(得分:1)

更简单的解决方案,我知道它太晚了但也许有人可以使用我的答案:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <fragment  android:id="@+id/chart"
               android:layout_alignParentTop="true"
               class="com.shinobicontrols.charts.ChartFragment"
               android:layout_width="match_parent"
               android:layout_height="100dp"
               android:layout_gravity="center" />

    <android.support.v7.widget.RecyclerView
        android:layout_below="@+id/chart"
        android:id="@+id/recyclerView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

现在我已将高度设置为100dp,只是为了向您显示它正确呈现,但您必须将其设置为包装内容(只要您的片段具有正确呈现的实际高度)

enter image description here

希望这会有所帮助:)