【问题标题】:Change View height after translation animation?翻译动画后更改视图高度?
【发布时间】: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


    【解决方案1】:

    我看不出你是如何“隐藏”BottomNavigationView

    但是如果你使用

    BottomNavigationView.setVisibility(View.INVISIBLE);

    隐藏视图但保持其宽度和高度。

    应该是

    BottomNavigationView.setVisibility(View.GONE);

    隐藏视图并使宽度 = 0 和高度 = 0

    【讨论】:

    • 在代码中有导航视图高度的 Y 平移,它“隐藏”了视图但视图的边界仍然存在,只是一个空白视图
    猜你喜欢
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 2016-01-27
    • 1970-01-01
    相关资源
    最近更新 更多