固定视图后面的可滚动列表



这可能是一个非常初学者的问题,但我还无法在android丛林中找到自己。

我已经有了一个RecyclerView来显示项目列表(包括数据绑定和Room数据库以及DiffUtil.ItemCallback等等(。

我想在列表后面放两个链接:;错过了什么"以及";添加新条目";这将导致其他碎片。

我所拥有的:

当我在RecyclerView后面放两个按钮(我还不知道如何放链接,但这不是这个问题的重点(时,所有按钮都在LinearLayout中,它们在屏幕底部附近保持固定。我的意思是,RecyclerView本身是可滚动的,滚动";在";两个按钮,整个LinearLayout展开以填充屏幕(match_parent(。

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="top"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Missing something?"
android:onClick="@{...}" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Add new item"
android:onClick="@{...}" />
</LinearLayout>

我想要什么

我希望这两个按钮能随着列表一起滚动,这样它们总是位于最后一个项目之后(就好像它们本身就是项目一样,尽管是一个不同类型的异类列表/RecyclerView.ViewHolder(。

对于一个足够大的列表,按钮最初将在屏幕外;如果用户碰巧滚动到列表的底部,则可以滚动。

我尝试了什么

我试着在LinearLayout周围使用ScrollView,它很有效,但无论在哪里,每个人都说永远不应该把RecyclerView放在ScrollView中(也许是因为它本身是可滚动的(。

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/routines_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
<!-- buttons -->
</LinearLayout>
</ScrollView>

作为android编程的初学者,我想知道这种布局通常应该如何完成。只有主要方向对我来说就足够了。

注:。我不知道我是否真的需要RecyclerView,因为我不希望这个列表太长。可能通常是4到8个项目,可能是10个。但我真的没想到它会比这个大多少。对于许多用户来说,这两个链接甚至会一直可见(即根本不滚动(。

RecyclerView总是最有效地显示列表,尤其是当您从数据库或API获取数据时。不要把你的回收视图放在滚动视图中。您可以在列表的底部添加两个项目作为链接,并对您的回收视图进行编程,以显示最后两个项目的不同属性。这是我能想到的最好的办法。祝你好运

此外,当您处理复杂的数据时,Recyclerview很难使用。对于小列表,例如在您的情况下,创建一个完整的适配器类并完成您应该做的一切似乎很不方便。当您掌握了xml android上的概念并有丰富的经验时。你可以换成喷气背包,懒散的专栏会让你的生活变得轻松。

相关内容

  • 没有找到相关文章