为什么我的按钮在使用 CollapsingToolbar 时被隐藏

Why is my Button hidden when using CollapsingToolbar

我有一个简单的 Activity 和一个 CollapsingToolbar。让我先告诉你我有什么,然后解释问题是什么!

When the toolbar is collapsed (left) vs when it is expanded (right)

如您所见,Search button 在工具栏展开时不显示。我该如何解决这个问题?

activity_search.xml :

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:fitsSystemWindows="true"
        android:layout_width="match_parent"
        android:layout_height="@dimen/app_bar_height"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_collapseMode="parallax"/>

            <android.support.v7.widget.Toolbar
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:popupTheme="@style/AppTheme.PopupOverlay"/>

        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>

    <include
        layout="@layout/content_search" />
</android.support.design.widget.CoordinatorLayout>

content_search.xml

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/ll"
        android:layout_alignParentTop="true"
        android:layout_marginBottom="@dimen/view_margin"
        android:orientation="horizontal">

        <AutoCompleteTextView
            android:id="@+id/etIngredients"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>

        <ImageButton
            android:id="@+id/btAdd"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_add"/>
    </LinearLayout>

    <Button
        android:id="@+id/btSearch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:text="@string/search"/>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rvIngredients"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/btSearch"
        android:layout_below="@id/ll"/>
</RelativeLayout>

我已经尝试搜索这个问题,但根本找不到任何东西!

尝试这样修改您的 content_search.xml

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginBottom="@dimen/view_margin"
    android:orientation="horizontal">

    <AutoCompleteTextView
        android:id="@+id/etIngredients"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"/>

    <ImageButton
        android:id="@+id/btAdd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_add"/>
</LinearLayout>

<android.support.v7.widget.RecyclerView
    android:id="@+id/rvIngredients"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

<Button
    android:id="@+id/btSearch"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:text="@string/search"/>
</LinearLayout>

如果您不需要将搜索按钮放在屏幕底部,请将其移到 RecyclerView 上方。

请检查您的content_search.xml

什么是 ID android:layout_below="@id/ll"??

我认为这是线性布局的id,请添加并运行希望对您有所帮助。

由于您的可折叠工具栏,它被隐藏了。当您说 match_parent 时,它的高度不包括展开工具栏的高度。您需要做的就是添加扩展工具栏高度的 bottom_margin。

希望对您有所帮助:)