[英]navigation Screen opening when i click on button but its not closing again when i click it again
navigation Screen opening when i click on button but its not closing again when i click it again.当我点击按钮时导航屏幕打开,但当我再次点击它时它不会再次关闭。 below is my code.
下面是我的代码。 this is my java code:
这是我的Java代码:
toolbar = findViewById(R.id.maintoolbar);
toolbar.setTitleTextAppearance(this, R.style.ActionBarTitle);
// Sets the Toolbar to act as the ActionBar for this Activity window.
// Make sure the toolbar exists in the activity and is not null
setSupportActionBar(toolbar);
Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);
toolbar.setNavigationOnClickListener(new NavigationIconClickListener(
getBaseContext(),
findViewById(R.id.mainContainer),
new AccelerateDecelerateInterpolator(),
getApplicationContext().getResources().getDrawable(R.drawable.branded_menu), // Menu open icon
getApplicationContext().getResources().getDrawable(R.drawable.close_menu)));
bNavVu = findViewById(R.id.bottom_nav_vu);
final View activityRootView = findViewById(R.id.rootLayout);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
//r will be populated with the coordinates of your view that area still visible.
activityRootView.getWindowVisibleDisplayFrame(r);
int heightDiff = activityRootView.getRootView().getHeight() - (r.bottom - r.top);
if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
hideSystemUI();
}
}
});
if (savedInstanceState == null) {
getSupportFragmentManager()
.beginTransaction()
.add(R.id.mainContainer, new CategoryFragment())
.commit();
}
try this way , i hope works with you.试试这种方式,我希望对你有用。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Menu 1");
setSupportActionBar(toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
Toolbar toggle = new Toolbar(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
the listener听者
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_menu1) {
// Handle the camera action
} else if (id == R.id.nav_menu2) {
} else if (id == R.id.nav_menu3) {
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.