一种可能不太漂亮的方法可能是覆盖 ActionBar in 中的默认高度值dimens.xml
。
例如,竖屏中的默认值为:
<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 和 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>
并在对应的activity中,设置这个新样式
android:theme="@style/Theme.Styled"
和..它的工作原理!