Благодаря @JEFF, после мониторинга OnScrollChangeListener
я изменил значение в условии наscrollY < 22
и оно появляется снова.Что касается второго вопроса, я искал Как сделать анимацию, и я обнаружил, что есть два способа сделать это
первый должен использовать fab.hide
и fab.show
вместо метода setVisibility();
код после редактирования
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
scrollView.setOnScrollChangeListener((v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
// Log.d("ScrollView","scrollX_"+scrollX+"_scrollY_"+scrollY+"_oldScrollX_"+oldScrollX+"_oldScrollY_"+oldScrollY);
if (scrollY > 0 && fab.isShown()) {
fab.hide();
} else if (scrollY < 22) {
fab.show();
}
});
} else {
scrollView.getViewTreeObserver().addOnScrollChangedListener(() -> {
int mScrollY = scrollView.getScrollY();
if (mScrollY > 0 && fab.isShown()) {
fab.hide();
} else if (mScrollY < 22) {
fab.show();
}
});
}
Второй способ использует пользовательские анимации масштаба для увеличения, уменьшения, как это ответ