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

时间:2020-10-30 06:13:48

标签: android bottomnavigationview

我正在基于标准的底部导航活动制作应用程序 来自Android Studio。代码是自动生成的,我没有更改。

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 MainActivity中设置Title 这样(在删除mobile_navigations中的标签之后):

this.getSupportActionBar().setTitle("TEST"); 

1 个答案:

答案 0 :(得分:-1)

  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