Hide the fab in ViewPostDetailActivity when the recyclerview is scrolled to the bottom. Fix the fab shows under the nav bar in ViewPostDetailActivity.

This commit is contained in:
Alex Ning 2020-02-19 22:43:33 +08:00
parent bbc69b45e6
commit 97993709e2

View File

@ -243,7 +243,11 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
int navBarResourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (navBarResourceId > 0) {
mRecyclerView.setPadding(0, 0, 0, resources.getDimensionPixelSize(navBarResourceId));
int navBarHeight = resources.getDimensionPixelSize(navBarResourceId);
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) fab.getLayoutParams();
params.bottomMargin = navBarHeight;
fab.setLayoutParams(params);
mRecyclerView.setPadding(0, 0, 0, navBarHeight);
showToast = true;
}
}
@ -272,6 +276,9 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (!mIsSmoothScrolling && !mLockFab) {
if (!recyclerView.canScrollVertically(1)) {
fab.hide();
} else {
if (dy > 0) {
if (mSwipeUpToHideFab) {
fab.show();
@ -286,6 +293,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
}
}
}
}
if (!isLoadingMoreChildren && loadMoreChildrenSuccess) {
int visibleItemCount = mLinearLayoutManager.getChildCount();
@ -311,6 +319,9 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (!mIsSmoothScrolling && !mLockFab) {
if (!recyclerView.canScrollVertically(1)) {
fab.hide();
} else {
if (dy > 0) {
if (mSwipeUpToHideFab) {
fab.show();
@ -326,6 +337,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
}
}
}
}
@Override
public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
@ -657,6 +669,9 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (!mIsSmoothScrolling && !mLockFab) {
if (!recyclerView.canScrollVertically(1)) {
fab.hide();
} else {
if (dy > 0) {
if (mSwipeUpToHideFab) {
fab.show();
@ -671,6 +686,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
}
}
}
}
if (!isLoadingMoreChildren && loadMoreChildrenSuccess) {
int visibleItemCount = mLinearLayoutManager.getChildCount();
@ -753,6 +769,9 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (!mIsSmoothScrolling && !mLockFab) {
if (!recyclerView.canScrollVertically(1)) {
fab.hide();
} else {
if (dy > 0) {
if (mSwipeUpToHideFab) {
fab.show();
@ -767,6 +786,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
}
}
}
}
if (!isLoadingMoreChildren && loadMoreChildrenSuccess) {
int visibleItemCount = mLinearLayoutManager.getChildCount();