CoordinatorLayout + CollapsingToolbarLayout 实现Material Design风格的页面大家都不陌生,网上也有大量的博客可以查阅资料,其中有一个小坑需要关注一下。
都知道title的字体风格可以通过 app:expandedTitleTextAppearance="@style/UserpageUserNameExpandedStyle"来实现,但是我在自定义的字体风格中设置风格的时候:
定义字体加粗的时候却不能正常实现。
准确说,就是设置textStyle为bold会失效。无论如何都无法加粗。
在xml设置app:expandedTitleTextAppearance 与在java代码中设置setExpandedTitleTextAppearance()方法是一致的,我们看一下源码
很明显,代码里只设置了 color, size,对于textStyle是没有设置的。
我们如果需要实现textStyle为bold需要换一种实现方式。
其实字体加粗本质上是更换了字体,而CollapsingToolbarLayout在高版本的API上已经支持了更换字体,尝试mCollapsingToolbarLy.setCollapsedTitleTypeface(Typeface.DEFAULT_BOLD);可以实现字体加粗。
而网络上所有的title加粗方案都是自定义字体风格,textStyle为bold,亲测无效,至少api版本为26是无效的。
有需要的小伙伴不妨试试这个新的方法,它不仅仅可以实现字体加粗或者斜体,更换字体也是可以的。
网友评论