屏幕滚动时隐藏和显示工具栏

时间:2018-07-31 11:55:54

标签: android

我在lookupHandleLocked中有一个标签。 linearlayout位于屏幕底部,位于Linearlayout内部。我希望当屏幕上的项目超出容纳的数量并且屏幕toolbar时,较低的标签scrolls应该隐藏,而当我linearlayout完成时,它应该可见。我正在尝试下面的代码,但是它似乎没有用。

scroll

2 个答案:

答案 0 :(得分:2)

尝试使用

<android.support.design.widget.CoordinatorLayout
...
>

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

        <android.support.v7.widget.Toolbar
        ...
        />

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

        <YourCustomtLinearLayout
        ...
        app:layout_behavior="com.imi.utils.ScrollingToolbarBehavior" 
        />

</android.support.design.widget.CoordinatorLayout>

答案 1 :(得分:2)

您必须使用setOnScrollChangeListener方法来隐藏和显示工具栏。 最初,您必须为工具栏视图设置可见性。下次使用这种方法

 appBarLayout.setVisibility(View.GONE);
            scroller.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
            @Override
            public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {

                if (scrollY > oldScrollY) {
                    appBarLayout.setVisibility(View.VISIBLE);
                }
                if (scrollY == 0) {
                    appBarLayout.setVisibility(View.GONE);
                }
            }
        });