个人在设计Theme时,想要修改系统原生的ActionBar的高度,但试了很久、查了网上很多的说法,动态和静态的都试了,也没有成功。后来发现,安卓的ActionBar高度由属性中的actionBarSize决定。但如果想修改成全通用(包括v4),必须设置两个属性才能实现。
在style中,自定义主题,继承AppCompat.Light主题:
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light>
<item name="android:actionBarSize">44dp</item>
<item name="actionBarSize">44dp</item>
</style>
再打开Activity,你会发现ActionBar的高度已经修改成44dp了。(如果去安卓的dimen下查看actionbar_default_height,会发现系统默认的是48dp)
当然,如今开发中,需要修改actionbarsize的地方其实不多,而且谷歌也不建议大家修改这一属性。
点开谷歌最新对安卓的UI设计规范(http://developer.android.com/intl/zh-cn/design/style/metrics-grids.html),可以看到,ActionBar的高度建议就是锁定48。如今各大APP(如QQ、微信、百度贴吧等)应用的也大多是这一高度,而且更多情况下大家是自己定义ActionBar的。不过和笔者一样的初学者如果好奇的话,可以用这个方法去修改系统的ActionBar高度。