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>
我有一个 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>