可能不太好看,但可行的一个方法是在dimens.xml
中覆盖ActionBar的默认高度值。
例如,在纵向方向上默认值为:
<dimen name="abs__action_bar_default_height">48dip</dimen>
在横屏模式下:
<dimen name="abs__action_bar_default_height">40dip</dimen>
可能有更简洁的方法,但我必须承认我对ActionBarSherlock的内部知之甚少。
编辑:想一想,在ICS上使用本机ActionBar时,这可能不起作用,因为高度将解析为
?android:attr/actionBarSize
中平台值。我建议您等待更好的建议,例如来自Jake本人。
第二次编辑:
根据Jake的回复,似乎要使其与在ICS和pre-ICS设备上使用ActionBarSherlock正常工作,只需将以下内容添加到您应用程序的主题中即可:
<item name="actionBarSize">@dimen/some_value</item>
<item name="android:actionBarSize">@dimen/some_value</item>
你可以将实际值添加到对应的纵向/横向资源桶中。
第三次编辑 [感谢
alvarolb]: 样式的 XML 示例:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="actionBarSize">48dip</item>
<item name="android:actionBarSize">48dip</item>
</style>
</resources>
在对应的活动中,设置这个新样式。
android:theme="@style/Theme.Styled"
然后...它有效了!