我有一个问题。我需要这个工具栏。
工具栏必须有居中的标题,并且向上按钮的颜色必须与标题的颜色不同。例如,我可以使用以下代码实现居中标题。
<androidx.appcompat.widget.Toolbar
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="?attr/actionBarTheme"
android:minHeight="?attr/actionBarSize"
android:id="@+id/tb_main"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/tb_title_main"
android:textColor="@color/black_80"
android:textSize="20sp"
/>
</androidx.appcompat.widget.Toolbar>
这是我的MainActivity
val toolbar = binding.tbMain
toolbar.tb_title_main.text = "Centered Text "
setSupportActionBar(toolbar)
supportActionBar?.setDisplayShowTitleEnabled(false)
但我希望使用Jetpack Navigation组件设置工具栏以实现更好、更轻松的导航。当我在MainActivity中使用以下代码设置工具栏时,会发生这种情况。
val navController = findNavController(R.id.nav_host_fragment)
val toolbar = binding.tbMain
setSupportActionBar(toolbar)
val appBarConfiguration =
AppBarConfiguration(navController.graph)
toolbar.setupWithNavController(navController,
appBarConfiguration)
我花了将近4小时的时间,尝试了许多解决方案,但都没有奏效。
因此,在使用setupWithNavController时,是否有可能居中工具栏中的文本,或者我应该想出自己的定制解决方案?
supportActionBar.Title = ""
。 - Rahul Khurana