【发布时间】:2021-08-13 17:54:48
【问题描述】:
在我的活动中,我有一个BottomNavigationView 和一个RecyclerView,我想做的是在滚动视图时隐藏BottomNavigationView,我正在使用此代码:
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
BottomNavigationView navigationView = requireActivity().findViewById(R.id.bottom_navigation_view);
if (recyclerView.getScrollState() == RecyclerView.SCROLL_STATE_DRAGGING && dy > 0){
navigationView.animate()
.translationY(navigationView.getHeight());
}
else if(recyclerView.getScrollState() == RecyclerView.SCROLL_STATE_DRAGGING && dy < 0)
navigationView.animate()
.translationY(0);
}
});
这很好用,只是它仍然显示视图的边界,所以在隐藏BottomNavigationView 后,我得到一个空矩形。使视图高度跟随平移的最佳方法是什么?
【问题讨论】:
标签: android android-animation translate-animation