当布局高度缩小时,向上移动布局

时间:2017-02-11 23:33:40

标签: android android-layout android-recyclerview

嗨我有一个片段,里面有两个RecyclerViews,一个在另一个之上。

第一个是用户执行操作的项目列表,第二个是在执行操作后将填充项目的位置。因此,当从顶部列表中删除项目时,它将添加到底部列表中。

我遇到的问题是,当我从顶部RecyclerView中删除项目时,顶部RecyclerView中的所有剩余项目向上移动以填充已删除项目留下的空间,但这会在顶部和底部之间留下间隙RecyclerViews 。

如何从顶部RecyclerView中移除项目后,如何向上移动底部的Recyclerview以填补创建的间隙

这是我的布局xml

<RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <android.support.v7.widget.RecyclerView
                android:layout_alignParentTop="true"
                android:id="@+id/pending_tasks"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <android.support.v7.widget.RecyclerView
                android:layout_below="@id/pending_tasks"
                android:id="@+id/completed_tasks"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

        </RelativeLayout>

我试过在底部的RecyclerView上调用invalidate()但是没有用。任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:1)

一旦屏幕上显示布局尺寸,就无法更新布局尺寸。如果您修改RecyclerView的内容,则只需刷新布局即可缩小它。

我建议使用单个RecyclerView并在某个变量中存储第一个列表的下限。然后只需根据第一个列表中的修改进行相应更新。

另一种可以帮助您的解决方案: Change Relative layout width and height dynamically