おそらくあまりきれいではないアプローチの 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
。ジェイク自身などからのより良い提案を待つことをお勧めします。
2 番目の編集:
Jake の返信の後、ICS デバイスと ICS 以前のデバイスの両方で ActionBarSherlock を使用するために必要なことは、アプリのテーマに次のコードを追加することだけです。
<item name="actionBarSize">@dimen/some_value</item>
<item name="android:actionBarSize">@dimen/some_value</item>
その後、関連するポートレート/ランド リソース バケットに実際の値を追加できます。
3 番目の編集[ 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"
そして..それは動作します!