ActionBarActivity Show/Hide 工具栏无法正常工作

ActionBarActivity Show/Hide toolbar not working properly

我目前正在开发一个应用程序,其中我需要在向下滚动时隐藏工具栏的功能(如 Google+)。我在滚动时呈现工具栏时遇到问题。这是现在的样子 -

我希望工具栏在向下滚动时简单地隐藏,但这里视图部分覆盖了工具栏,之后只有工具栏隐藏了。

这是布局代码 -

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="org.step.main.MainActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbarone"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"/>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingTop="?attr/actionBarSize"
        android:clipToPadding="false"
        tools:context=".MainActivity"
        />
</FrameLayout>

这里是 Activity 代码 -

    mRecyclerView = (RecyclerView) findViewById(R.id.list);
        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
        mRecyclerView.setItemAnimator(new DefaultItemAnimator());
        mRecyclerView.setOnScrollListener(new HidingScrollListener() {
            @Override
            public void onHide() {
                hideViews();
            }

            @Override
            public void onShow() {
                showViews();
            }
    });

    private void hideViews() {
        mToolbar.animate().translationY(-mToolbar.getHeight()).setInterpolator(new AccelerateInterpolator(2));
    }

    private void showViews() {
        mToolbar.animate().translationY(0).setInterpolator(new DecelerateInterpolator(2));
    }

有人可以解释为什么会这样吗?

我在阅读 FrameLayout 文档上的这一行后明白了 -

"Child views are drawn in a stack, with the most recently added child on top."

所以,我调换了 ToolbarRecyclerView 的位置,结果成功了。这里,ToolbarRecyclerView 之后呈现,因此它在堆栈中更高。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="org.step.main.MainActivity">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingTop="?attr/actionBarSize"
        android:clipToPadding="false"
        tools:context=".MainActivity"
        />

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbarone"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"/>

</FrameLayout>