항목을 눌렀을 때 탐색 창을 닫는 방법은 무엇입니까?


82

이상적으로는 탐색 창에서 일부 항목을 누르면 닫히지 만 자동으로 실행되지는 않습니다. 어떻게하나요? 감사!


탐색 창을 가져 오는 데 어떤 라이브러리를 사용합니까?
Ion Aalbers 2013-10-05

답변:


235

알았다!

private DrawerLayout mDrawerLayout;
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerLayout.closeDrawers();

완벽하게 잘 작동합니다.


2
어떤 가치가 있는지 물어보십시오.
AXSM 2014

3
애니메이션없이 닫을 수 있습니까?
Hamzeh Soboh 2015-06-06

1
Hamzeh-mDrawerLayout.closeDrawer (Gravity.LEFT, false); 애니메이션없이 종료됩니다
Psi-Ed

mDrawerLayout.closeDrawer (GravityCompat.START, false);
user3560827

10

나를 위해 이것은 일했습니다-

mDrawerLayout.closeDrawer(Gravity.START, false);

5
DrawerLayout mDrawerLayout= (DrawerLayout) findViewById(R.id.drawer_layout)

closeDrawer(); // called when you want to close

public void closeDrawer() {
  if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
    mDrawerLayout.closeDrawer(GravityCompat.START);
  }
}

2

스위치 케이스가 끝나는 onNavigationItemSelected의 오른쪽 하단에서이 부분을 바로 잡아야합니다. mDrawerLayout.closeDrawers ();

public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        switch (item.getItemId()){

        }
   mDrawerLayout.closeDrawers();
   return true;
}

2

서랍 레이아웃으로 mDrawerLayout이있는 경우 열려있을 때 닫을 수 있습니다.

@Override
public void onBackPressed() {
    if (this.mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
        this.mDrawerLayout.closeDrawer(GravityCompat.START);
    } else {
        super.onBackPressed();
    }
}

0
closeDrawer();//when you want to call

public void closeDrawer() {
    if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
        mDrawerLayout.closeDrawer(GravityCompat.START);
    }
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.