Hide FAB when RecyclerView in PostFragment is scrolling down.

This commit is contained in:
Alex Ning 2019-08-22 17:56:11 +08:00
parent 7b754328fc
commit a52f608af9
3 changed files with 44 additions and 1 deletions

View File

@ -399,6 +399,7 @@ public class MainActivity extends AppCompatActivity implements SortTypeBottomShe
@Override
public void onPageSelected(int position) {
fab.show();
if(isInLazyMode) {
if(position == sectionsPagerAdapter.getCurrentLazyModeFragmentPosition()) {
sectionsPagerAdapter.resumeLazyMode();
@ -793,6 +794,14 @@ public class MainActivity extends AppCompatActivity implements SortTypeBottomShe
}
}
public void postScrollUp() {
fab.show();
}
public void postScrollDown() {
fab.hide();
}
@Subscribe
public void onAccountSwitchEvent(SwitchAccountEvent event) {
if(!getClass().getName().equals(event.excludeActivityClassName)) {

View File

@ -189,11 +189,37 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
return false;
});
if(activity instanceof MainActivity) {
mPostRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
if (dy > 0) {
((MainActivity) activity).postScrollDown();
} else if (dy < 0) {
((MainActivity) activity).postScrollUp();
}
}
});
} else if(activity instanceof ViewSubredditDetailActivity) {
mPostRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
if (dy > 0) {
((ViewSubredditDetailActivity) activity).postScrollDown();
} else if (dy < 0) {
((ViewSubredditDetailActivity) activity).postScrollUp();
}
}
});
}
int postType = getArguments().getInt(EXTRA_POST_TYPE);
String sortType = getArguments().getString(EXTRA_SORT_TYPE);
int filter = getArguments().getInt(EXTRA_FILTER);
String accessToken = getArguments().getString(EXTRA_ACCESS_TOKEN);
boolean nsfw = mSharedPreferences.getBoolean(SharedPreferencesUtils.NSFW_KEY, true);
boolean nsfw = mSharedPreferences.getBoolean(SharedPreferencesUtils.NSFW_KEY, false);
PostViewModel.Factory factory;

View File

@ -566,6 +566,14 @@ public class ViewSubredditDetailActivity extends AppCompatActivity implements So
}
}
public void postScrollUp() {
fab.show();
}
public void postScrollDown() {
fab.hide();
}
@Subscribe
public void onAccountSwitchEvent(SwitchAccountEvent event) {
if(!getClass().getName().equals(event.excludeActivityClassName)) {