Android Toolbar标题颜色与大小修改无效问题求助
解决Toolbar标题颜色和大小不生效的问题
嘿,我之前也碰到过这个棘手的问题,尤其是用support库的时候,直接改属性经常没效果。咱们从几个常见的排查点和解决方案入手:
1. 直接给Toolbar设置titleTextAppearance(最直接的方法)
你可以跳过AppBarLayout的theme,直接给Toolbar指定标题的样式,这样优先级更高,不容易被其他样式覆盖。
修改你的activity_main.xml:
在Toolbar标签里添加app:titleTextAppearance属性(注意用app:前缀,因为是support库的属性):
<android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:titleTextAppearance="@style/CustomToolbarTitle" /> </android.support.design.widget.AppBarLayout>
在styles.xml里定义CustomToolbarTitle样式:
<style name="CustomToolbarTitle" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Title"> <item name="android:textSize">20sp</item> <!-- 替换成你想要的字号 --> <item name="android:textColor">#FF0000</item> <!-- 替换成你想要的颜色 --> </style>
2. 修改AppBarOverlay的主题(全局生效)
如果想让所有Toolbar都用这个样式,可以修改AppBarLayout绑定的主题:
调整styles.xml里的AppTheme.AppBarOverlay:
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="android:textColorPrimary">#FF0000</item> <!-- 标题颜色 --> <item name="android:textSize">20sp</item> <!-- 标题字号 --> </style>
注意:如果你的Toolbar是浅色背景,建议把父主题换成ThemeOverlay.AppCompat.Light.ActionBar,避免颜色显示异常。
3. 检查代码里的动态设置
如果你在Activity里用toolbar.setTitle("xxx"),要确保没有在代码里动态设置标题颜色或大小,不然会覆盖xml里的配置。比如不要写类似toolbar.setTitleTextColor(Color.RED)这种代码,除非你是故意要动态修改。
4. 确认support库版本(可选)
虽然你用的minSdk19,但如果support库版本太旧可能存在兼容性问题,建议确保build.gradle里的support库是较新的稳定版本(比如28.0.0,这是support库的最后一个稳定版):
implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support:design:28.0.0'
试一下上面的方法,应该就能解决你的问题了!
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

