【发布时间】:2021-08-02 12:46:47
【问题描述】:
我有这个主题,并希望在默认工具栏中将标题居中。这意味着我的 XML 文件中没有工具栏。这是我尝试过的:
<style name="Theme.MyApp" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="android:textColor">@color/colorWhite</item>
<item name="actionBarTheme">@style/AppBaseTheme.Toolbar</item>
</style>
<style name="AppBaseTheme.Toolbar" parent="Widget.AppCompat.ActionBar.Solid">
<item name="android:textColorPrimary">@color/colorPrimary</item>
<item name="titleCentered">true</item>
</style>
<item name="titleCentered">true</item> 没有将标题居中。如何解决?
【问题讨论】:
-
我认为这是不可能的,即使是这样,至少在不修改其他地方的情况下是不可能的。
titleCentered属性来自MaterialToolbar(最近才添加它本身),但您的ComponentActivity或AppCompatActivity中的默认装饰将使用 androidxToolbar。 -
@MikeM。感谢您对我的问题发表评论。那么如何在不创建自定义布局的情况下将标题居中?
-
我不确定主要目标是什么。您是否试图避免布局?或者您是否试图避免更改默认的
ActionBar?如果是前者,您可以简单地使用NoActionBar主题,并在代码中创建自己的MaterialToolbar。如果是后者,那么下面的答案中显示的内容可能是首选解决方案。如果两者兼而有之,那么您可以将它们结合起来,并将setCustomView()方法与您在代码中自己创建的Views 结合使用。 -
是的,你是对的。我会尝试找到另一个 hacky :) 再次感谢你!'
-
没问题。你在美好的一天抓住了我。 ;-) 干杯!
标签: android android-toolbar android-theme android-styles