Ответ 1
Один, возможно, не слишком красивый подход, может заключаться в переопределении значений высоты по умолчанию для ActionBar в dimens.xml
.
например. значение по умолчанию в портрете:
<dimen name="abs__action_bar_default_height">48dip</dimen>
И в пейзаже:
<dimen name="abs__action_bar_default_height">40dip</dimen>
Там может быть более чистый способ сделать это, но я должен признать, что я слишком мало знаю о внутренних функциях ActionBarSherlock для этого.
Изменить:. Подумайте об этом, вероятно, это не сработает, когда родной ActionBar будет использоваться в ICS, так как высота затем решит значение платформы в ?android:attr/actionBarSize
. Я бы рекомендовал вам подождать лучшего предложения, например. от самого Джейка.
Второе редактирование: После ответа Джейка кажется, что все, что вам нужно сделать, чтобы заставить его работать с ActionBarSherlock на обоих устройствах ICS и pre-ICS, добавляет следующее к теме вашего приложения:
<item name="actionBarSize">@dimen/some_value</item>
<item name="android:actionBarSize">@dimen/some_value</item>
Затем вы можете добавить фактические значения в соответствующие корзины портрета/земельного ресурса.
Третье редактирование [thanks 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"
и.. он работает!