Как создать NavigationView программно

Я пытаюсь создать Navigation Drawer программно, все работает на панели навигации, которая закрывает экран и блокирует другой контент. Я удалил навигационное представление, и содержимое снова отображается правильно.

private View SetupNavigationView() {
    fullLayout = new DrawerLayout(this);
    fullLayout.LayoutParameters = new DrawerLayout.LayoutParams(DrawerLayout.LayoutParams.MatchParent, DrawerLayout.LayoutParams.MatchParent);
    fullLayout.SetFitsSystemWindows(true);
    fullLayout.SetBackgroundColor(Color.Black);

    LinearLayout relLayout = new LinearLayout(this);
    relLayout.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent);
    relLayout.Orientation = Orientation.Vertical;
    relLayout.WeightSum = 100;

    toolbar = new SupportToolbar(this);
    LinearLayout.LayoutParams tParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent,0, 10);
    toolbar.LayoutParameters = tParams;
    toolbar.SetBackgroundColor(Color.Gray);
    toolbar.SetMinimumHeight(50);

    activityContainer = new FrameLayout(this);   
    activityContainer.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent,0,90);
    relLayout.AddView(toolbar);
    relLayout.AddView(activityContainer);    
    fullLayout.AddView(relLayout);

    navigationView = new NavigationView(this);
    DrawerLayout.LayoutParams navLayout = new DrawerLayout.LayoutParams(DrawerLayout.LayoutParams.WrapContent,                                      DrawerLayout.LayoutParams.MatchParent);
    navigationView.LayoutParameters = navLayout;
    navigationView.SetBackgroundColor(Color.Blue);
    navigationView.SetFitsSystemWindows(true);
    //navLayout.Gravity = GravityFlags.Start; 
    //Had to comment this out as DrawerLayout.LayoutParams does not implement Layout Gravity.

    fullLayout.AddView(navigationView);
    return fullLayout;
}

Я изначально пытался использовать LinearLayout.LayourParams для навигации, но это по-прежнему не имеет значения. Я потратил немало времени, работая над этим, так что это последний кусок, который мне нужен, чтобы начать работать. Спасибо за любую помощь или предложения.

0 ответов

Другие вопросы по тегам