Android Material3中Toolbar标题样式不生效问题求助
问题解决:Toolbar标题样式不生效的修复方案
问题原因
在Material3主题体系中,Toolbar的标题文本样式不再通过titleTextStyle控制,而是使用**titleLargeTextStyle**(对应Toolbar默认的标题文本样式层级)。同时自定义文本样式需要正确继承Material3的文本外观基类,否则自定义属性会被主题默认样式覆盖,导致不生效。
修复后的代码
<style name="CustomText" parent="TextAppearance.Material3.HeadlineSmall"> <item name="android:textStyle">bold</item> <item name="android:textColor">@color/white</item> </style> <style name="CustomToolbar" parent="Widget.Material3.Toolbar"> <item name="android:background">#03A9F4</item> <!-- 替换原titleTextStyle为Material3适配的属性 --> <item name="titleLargeTextStyle">@style/CustomText</item> </style> <style name="Base.Theme.Workshop2" parent="Theme.Material3.DayNight"> <item name="toolbarStyle">@style/CustomToolbar</item> <item name="colorPrimaryDark">#03A9F4</item> <!-- <item name="colorPrimary">@color/my_light_primary</item> --> </style>
关键修改点
- 自定义文本样式
CustomText继承TextAppearance.Material3.HeadlineSmall:确保样式能继承Material3标题的基础属性,避免自定义样式被主题默认配置覆盖 - 将
CustomToolbar中的titleTextStyle替换为titleLargeTextStyle:Material3规范中,Toolbar标题对应的文本样式属性为titleLargeTextStyle,原属性已不再适配当前主题架构
内容的提问来源于stack exchange,提问作者N.Maxim
相关产品推荐
相关产品推荐

