简体   繁体   中英

I can not understand how to handle the touch of the handler's navigation drawer

I created a navigation drawer but I can not figure out how to create the onClickListener the top of the navigation drawer (handler).

for now my code is:

drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
    drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {
        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {

        }

        @Override
        public void onDrawerOpened(View drawerView) {

        }

        @Override
        public void onDrawerClosed(View drawerView) {

        }

        @Override
        public void onDrawerStateChanged(int newState) {

        }
    });

    navigationView = (NavigationView) findViewById(R.id.navigationView);
    navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener()
    {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item)
        {
            drawerLayout.closeDrawer(navigationView);
            return false;
        }
    });



}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId())
    {
        case android.R.id.home:
            drawerLayout.openDrawer(GravityCompat.START);
            break;
    }
    return true;
}

I also tried to get a reference to RelativeLayout containing the hadler but I can not make it work.

Get header layout reference from NavigationView :

    View headerLayout = navigationView.getHeaderView(0);
     headerLayout.findViewById(R.id.YOUR_RELATIVE_LAYOUT).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        }
    });

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM