5

互联网上这些新布局的例子并不多,而那些少数几个都基于相同的基本方法。如果我的应用程序中没有合适的工具栏,但仍想使用新材料设计布局的酷炫功能怎么办?

我一直在尝试的一件事是在 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>
4

1 回答 1

2

尝试根据列表中有多少项动态设置 CollapsingToolbarLayout 的 android:minHeight 属性。即你应该设置(伪代码):

  minHeight = allAvailableHeight - (oneListItemHeigh * listItemCount)

PS。这只是一个想法,我没有尝试过。但我认为它应该有效。

于 2016-12-24T22:54:58.350 回答