使用底部导航时如何更改顶部栏

How to change top bar when working with bottom navigation

我正在根据标准底部导航制作我的应用程序 Activity from Android Studio.The代码是自动生成的,我没改。

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    BottomNavigationView navView = findViewById(R.id.nav_view);
    AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(
            R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications)
            .build();
    NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
    NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
    NavigationUI.setupWithNavController(navView, navController);
}

我有这个: screen

我想在顶部屏幕上添加一个图标, 通过它我将转到 MainActivity 的其他片段(不在底部菜单中)。 我想把它放在屏幕顶部 top bar

  1. 如何将它们准确地放在顶部?
  2. 如何更改此顶部栏的颜色?

到目前为止,我只能以编程方式在 onCreate Main 中设置标题Activity 像这样(删除 mobile_navigations 中的标签后):

this.getSupportActionBar().setTitle("TEST"); 
  1. 重写 MainActivity 中的 onCreateOptionsMenu()。

     override fun onCreateOptionsMenu(menu: Menu?): Boolean {
         super.onCreateOptionsMenu(menu)
         menuInflater.inflate(R.menu.menu_second, menu)
         return true
     }
    
  2. 在 res 文件夹中创建菜单

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
        <item android:id="@+id/menu_next"
            android:title="toNext"
            android:titleCondensed="next"
            android:orderInCategory="1"
            android:icon="your icon"
            app:showAsAction="always" />
    </menu> 
    

menu api