【原创】基于主题规范写法修改actionBar高度写法和标题字体大小
简书链接:【原创】基于主题规范写法修改actionBar高度写法和标题字体大小
文章字数:350,阅读全文大约需要1分钟
首先看图
可以看出来就是 当前主题 选择的手机是56dp
actionBarSize,
规范是啥,规范就是使用appcompat主题 material design咯
我的各种颜色主题都继承于我的根主题
1 |
|
所以只需要修改根主题属性即可实现
1 | <style name="Theme.MyApplication.RootTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> |
全局赋值默认属性修改actionBar高度
actionBarSize 设置了之后就会替换掉所有?attr/actionBarSize
- 替换主题的
1
2
3<style name="Theme.MyApplication.RootTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="actionBarSize">@dimen/my_app_action_bar_size</item> - 替换解决toolbar的
直接写上?attr/actionBarSize
就行
1 |
|
修改toolbar标题字体大小
- 主题全局替换
此方法针对没有在xml中定义toolbar或者setSupportToolbar
的情况1
2
3
4
5
6
7
8
9
10
11<!-- ActionBar 样式 -->
<style name="MyActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
<item name="titleTextStyle">@style/MyTitleTextStyle</item>
</style>
<style name="MyActionBarTabText" parent="@style/Widget.AppCompat.ActionBar.TabText">
<item name="android:textColor">@android:color/holo_blue_bright</item>
<item name="android:textSize">@dimen/toolbar_text_size</item>
</style>
<style name="Theme.MyApplication.RootTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="actionBarStyle" >@style/MyActionBarStyle</item>
</style> - 解决xml中声明的toolbar问题
用xml写的toolbar发现字体大小并没有生效,这时候需要用到 style="@style/ToolbarStyle"
->titleTextAppearance
1 | <androidx.appcompat.widget.Toolbar |
1 | <style name="ToolbarStyle"> |
为什么是titleTextAppearance
从源码分析可得知,
在readTextAppearance
方法中
解析了textsize
1 | case com.android.internal.R.styleable.TextAppearance_textSize: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 情迁博客!
评论