这可能是一个非常初学者的问题,但我还无法在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上的概念并有丰富的经验时。你可以换成喷气背包,懒散的专栏会让你的生活变得轻松。