Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 向下滚动时使用ListView隐藏fab按钮_Android_Listview_Floating Action Button - Fatal编程技术网

Android 向下滚动时使用ListView隐藏fab按钮

Android 向下滚动时使用ListView隐藏fab按钮,android,listview,floating-action-button,Android,Listview,Floating Action Button,滚动listView时如何隐藏fab按钮 我现在正在使用这段代码,但是每当我触摸屏幕和滚动时,它会隐藏FAB按钮,我需要它在向下滚动和向上滚动时隐藏FAB按钮,它必须再次显示 当前代码: mListView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollSt

滚动listView时如何隐藏fab按钮

我现在正在使用这段代码,但是每当我触摸屏幕和滚动时,它会隐藏FAB按钮,我需要它在向下滚动和向上滚动时隐藏FAB按钮,它必须再次显示

当前代码:

mListView.setOnScrollListener(new AbsListView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            if(scrollState == SCROLL_STATE_TOUCH_SCROLL){
                floatingActionButton.hide();
            }else{
                floatingActionButton.show();
            }
        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        }
    });

尝试此操作您应该使用
onScroll
而不是
onScrollStateChanged

listview.setOnScrollListener(new AbsListView.OnScrollListener() {
    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {


    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

        // add here your logic like this
        // int lastItem = firstVisibleItem + visibleItemCount;
        if (firstVisibleItem < 2) {

            floatingActionButton.setVisibility(View.INVISIBLE);
        }else {
            floatingActionButton.setVisibility(View.VISIBLE);
        }
    }
});
listview.setOnScrollListener(新的AbsListView.OnScrollListener(){
@凌驾
公共无效onScrollStateChanged(AbsListView视图,int scrollState){
}
@凌驾
public void onScroll(AbsListView视图、int firstVisibleItem、int visibleItemCount、int totalItemCount){
//把你的逻辑加在这里
//int lastItem=firstVisibleItem+visibleItemCount;
如果(第一个可见项<2){
floatingActionButton.setVisibility(视图.不可见);
}否则{
floatingActionButton.setVisibility(View.VISIBLE);
}
}
});

在哪里使用int-lastItem?这是逻辑部分,我的朋友,你可以忽略这一行。我认为最好使用
hide
show
。我这样做:
if(lastItem==totalItemCount)floatingActionButton.hide()
隐藏滚动结束处的按钮。试试这个