在互联网上出现这些新布局的例子并不多,而那些少有的布局都基于相同的基本方法。如果我的应用程序中没有合适的工具栏,但仍想使用新材料设计布局的酷功能,那怎么样?
我一直在尝试的一件事是使用CoordinatorLayout中的MapView和RecyclerView以及视差滚动效果。它工作得很好,但是有一个问题。如果我的适配器数量很少,则RecyclerView不会保留在屏幕底部。这里有一些图像可以更好地描述问题。
初始屏幕:
RecyclerView在MapView上滚动,在下方留下空白:
有没有办法让RecyclerView保持在最底层?
我的xml看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|enterAlways">
<com.google.android.gms.maps.MapView
android:id="@+id/tts_main_map"
android:layout_width="match_parent"
android:layout_height="250dp"
app:layout_collapseMode="parallax" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
/>
</android.support.design.widget.CoordinatorLayout>
答案 0 :(得分:1)
尝试根据列表中的项目数动态设置CollapsingToolbarLayout的android:minHeight属性。即你应该设置(伪代码):
minHeight = allAvailableHeight - (oneListItemHeigh * listItemCount)
PS。这只是一个想法,我没试过。但我认为它应该有效。