我有一个MainActivity包含:
1- BottomNavigationBar
和5个标签,包含5个片段。
2-主题 NoActionBar 。
3-每个片段的布局都有自己的Toolbar
和不同的title
。
现在我想在MainActivity中添加一个NavigationDrawer
,并且只有一个ActionBar(BottomNavigationBar片段的标题和“NavDrawer”图标按钮)全部在中一个 ActionBar。
这个图像定义了我的问题:
答案 0 :(得分:1)
好吧,如果您只想在片段工具栏上显示标题和图标,那么每个片段都不需要工具栏。只需使用主活动中的那个,并在选项卡更改时更改标题和图标。
使用:
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>