android - 如何在只有一个工具栏的 BottomNavigationBar 的 activity 中添加 NavigationDrawer?

android - How to add a NavigationDrawer within an activity that has a BottomNavigationBar with just one Toolbar?

我有一个 MainActivity 包含:

1- BottomNavigationBar 和 5 个带有 5 个片段的标签。

2-主旋律NoActionBar.

3- 每个片段都有自己的布局 Toolbar 和不同的 title.

现在我想在 MainActivity 中添加一个 NavigationDrawer 并且只有一个包含(BottomNavigationBar 选项卡片段的标题和 NavDrawer 图标按钮)的 ActionBar 全部在 动作条。 这张图片定义了我遇到的问题:

好吧,如果您只想在片段工具栏上显示标题和图标,则不需要为每个片段显示一个工具栏。只需使用主要活动中的那个,并在选项卡更改时更改标题和图标。

使用这个:

public class MainActivity extends AppCompatActivity {

 public BottomBar bottomBar;
 private Toolbar toolbar;
 private ImageView toolbarIcon;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    toolbar.setTitle(" "); 

    bottomBar.setOnTabSelectListener(new OnTabSelectListener() {
          @Override
          public void onTabSelected(@IdRes int tabId) {

            switch (tabId) {
              case R.id.tab1: 
                TabOne tabOne= new TabOne();
                commitFragment(tabOne);
                toolbar.setTitle("Tab One");
                toolbarIcon.setImageDrawable(ContextCompat.getDrawable(this,R.drawable.ic_tab_1));
                break;

              case R.id.tab1: 
                TabTwo tabTwo= new TabTwo ();
                commitFragment(tabTwo);
                toolbar.setTitle("Tab Two");
                toolbarIcon.setImageDrawable(ContextCompat.getDrawable(this,R.drawable.ic_tab_2));
                break;

               // and so on....
            }
          }
        });
     }
   }

并在工具栏内添加一个ImageView以更好地控制变化。

<android.support.v7.widget.Toolbar
  android:id="@+id/toolbar"
  android:layout_width="match_parent"
  android:layout_height="?attr/actionBarSize"
  android:background="@color/colorPrimary">

  <ImageView
    android:id="@+id/back_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="start" 
    android:scaleType="fitXY"/>

</android.support.v7.widget.Toolbar>