Android 向下滚动时使用ListView隐藏fab按钮
滚动listView时如何隐藏fab按钮 我现在正在使用这段代码,但是每当我触摸屏幕和滚动时,它会隐藏FAB按钮,我需要它在向下滚动和向上滚动时隐藏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
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()
隐藏滚动结束处的按钮。试试这个