1package eu.siacs.conversations.ui;
2
3import androidx.annotation.NonNull;
4import androidx.recyclerview.widget.RecyclerView;
5import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton;
6
7public class ExtendedFabSizeChanger extends RecyclerView.OnScrollListener {
8
9 private final ExtendedFloatingActionButton extendedFloatingActionButton;
10
11 private ExtendedFabSizeChanger(
12 final ExtendedFloatingActionButton extendedFloatingActionButton) {
13 this.extendedFloatingActionButton = extendedFloatingActionButton;
14 }
15
16 @Override
17 public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
18 super.onScrolled(recyclerView, dx, dy);
19 if (RecyclerViews.findFirstVisibleItemPosition(recyclerView) > 0) {
20 extendedFloatingActionButton.shrink();
21 } else {
22 extendedFloatingActionButton.extend();
23 }
24 }
25
26 public static RecyclerView.OnScrollListener of(final ExtendedFloatingActionButton fab) {
27 return new ExtendedFabSizeChanger(fab);
28 }
29}