Java 如何隐藏顶部回收器视图中的浮动操作按钮,并在向下搜索时显示?
我试图只在“回收器”视图向下滚动时显示浮动操作按钮,而在“位置”位于最顶端时隐藏。很抱歉,我的英语很差{Java 如何隐藏顶部回收器视图中的浮动操作按钮,并在向下搜索时显示?,java,android,Java,Android,我试图只在“回收器”视图向下滚动时显示浮动操作按钮,而在“位置”位于最顶端时隐藏。很抱歉,我的英语很差{ recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx,int dy){ super.onScrolled(recyclerView, dx,
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx,int dy){
super.onScrolled(recyclerView, dx, dy);
if (dy >0) {
// Scroll Down
if (fab.isShown()) {
fab.hide();
}
}
else if (dy <0) {
// Scroll Up
if (!fab.isShown()) {
fab.show();
}
}
}
})
@凌驾
已填空的公共空间(RecyclerView RecyclerView、int dx、int dy){
super.onScrolled(recyclerView、dx、dy);
如果(dy>0){
//向下滚动
if(fab.isShown()){
制作隐藏();
}
}
else if(dy这里您可以做什么来识别滚动状态
recyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
if (!recyclerView.canScrollVertically(1) && newState==RecyclerView.SCROLL_STATE_IDLE) {
//do what you want if recyclerview scrolled to bottom
}else{
//do what you want if recyclerview not scrolled to bottom
}
}
});
添加recylerview的滚动侦听器&滚动时隐藏fab
fun hideFabWhenScroll(fab: FloatingActionButton, recyclerView: RecyclerView){
recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
if (dy > 0 || dy < 0 && fab.isShown) {
fab.hide()
}
}
override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
fab.show()
}
super.onScrollStateChanged(recyclerView, newState)
}
})
}
fun hideFabWhenScroll(fab:floatingAction按钮,recyclerView:recyclerView){
recyclerView.addOnScrollListener(对象:recyclerView.OnScrollListener(){
覆盖已克隆的乐趣(recyclerView:recyclerView,dx:Int,dy:Int){
if(dy>0 | | dy<0&&fab.isShown){
制作隐藏
}
}
覆盖CrollStateChanged(recyclerView:recyclerView,newState:Int){
if(newState==RecyclerView.SCROLL\u STATE\u IDLE){
制作秀
}
super.onScrollStateChanged(recyclerView、newState)
}
})
}