0

当你拖动它时,如何让抽屉自动打开(而不是自动关闭)?比如屏幕宽度的 10%,然后我们松开手指,抽屉就会打开。我们如何才能实现它?

4

1 回答 1

0

我不确定以下是否是您想要实现的目标。但是你可以试试这个。(“mDrawerLayout”是你的 DrawerLayout。“mNavigationView”是你的 NavigationView。)

    mDrawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
        boolean isOpen=false;
        @Override
        public void onDrawerSlide(@NonNull View drawerView, float slideOffset) {

            if(slideOffset>0 && !isOpen){
                mDrawerLayout.openDrawer(mNavigationView);
            }

            if(slideOffset==1){
                isOpen=true;
            }else if(slideOffset==0){
                isOpen=false;
            }
        }

        @Override
        public void onDrawerOpened(@NonNull View drawerView) {
            setMenuItemUnselected();
        }

        @Override
        public void onDrawerClosed(@NonNull View drawerView) {
            setMenuItemUnselected();
        }

        @Override
        public void onDrawerStateChanged(int newState) {

        }
    });
于 2018-12-28T05:29:59.093 回答