理想情况下,一旦按下某个项目后导航抽屉应该关闭,但它不会自动发生。怎么做 ? 谢谢!
答案 0 :(得分:210)
知道了!
private DrawerLayout mDrawerLayout;
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerLayout.closeDrawers();
工作完美。
答案 1 :(得分:5)
对我来说这个有用 -
mDrawerLayout.closeDrawer(Gravity.START, false);
答案 2 :(得分:2)
如果将mDrawerLayout作为抽屉式布局,则可以在其打开时将其关闭。
template <typename T>
concept name_indexable = !func_indexable<T> && requires(T v)
{
{v.x} -> floating_point;
{v.y} -> floating_point;
{v.z} -> floating_point;
};
答案 3 :(得分:0)
closeDrawer(); // called when you want to close
public void closeDrawer() {
if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
mDrawerLayout.closeDrawer(GravityCompat.START);
}
}
答案 4 :(得分:-1)
在onNavigationItemSelected右下角的开关位置结束处,您应该对此进行纠正。 mDrawerLayout.closeDrawers();
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
}
mDrawerLayout.closeDrawers();
return true;
}