我有一些RecyclerView
位于屏幕底部和其他视图下方。目前,它是水平的,只有1行。当用户触摸某个项目时,我想将其扩展为全屏以获得更好的视图。在扩展时,它必须有2列。此外,用户可以通过单击扩展完成后出现的菜单上的后退按钮返回。
我做了什么?
我找到了StaggeredGridLayoutManager
。它允许更改列数。
我的问题是什么?我无法确定是否必须使用其他活动。但我想这是多余的。我怎样才能在一项活动中实现这一目标?如何处理RecyclerView
以上的其他视图?
答案 0 :(得分:1)
对于您正在寻找的内容,并且没有更具体的内容,BottomSheet可能是解决方案。见这里:https://code.tutsplus.com/articles/how-to-use-bottom-sheets-with-the-design-support-library--cms-26031
或者,您可以使用FrameLayout
包含RecyclerView
和另一个包含所有其他视图的布局。将RecyclerView
重力设置为bottom
并将其设置为行的高度(在示例中为80dp)。请注意RecyclerView
是最后一个元素,因此它在其他元素之上绘制:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- other views here -->
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_gravity="bottom"/>
</FrameLayout>