Bir öğeye basıldığında gezinme çekmecesi nasıl kapatılır?


84

İdeal olarak, gezinme çekmecesi, bir öğeye basıldığında kapatılmalıdır, ancak bu otomatik olarak gerçekleşmemelidir. Nasıl yapılır ? Teşekkürler!


Gezinme çekmecesini almak için hangi kitaplığı kullanıyorsunuz?
İyon Aalbers

Yanıtlar:


239

Anladım!

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

Mükemmel çalışıyor.


2
Değeri olan bir şey sorun.
AXSM

3
Animasyon olmadan kapatılabilir mi?
Hamzeh Soboh

1
Hamzeh - mDrawerLayout.closeDrawer (Gravity.LEFT, false); animasyon olmadan kapatılmasına neden olur
Psi-Ed

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

10

Benim için bu çalıştı -

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 öğesinin sağ alt kısmında, anahtar durumunun bittiği yerde bunu düzeltmelisiniz. mDrawerLayout.closeDrawers ();

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

        }
   mDrawerLayout.closeDrawers();
   return true;
}

2

Çekmece düzeniniz olarak mDrawerLayout'a sahipseniz, açıkken kapatabilirsiniz.

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

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

public void closeDrawer() {
    if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
        mDrawerLayout.closeDrawer(GravityCompat.START);
    }
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.