タブとロゴの間の余白
カスタムタブの実装でカスタムビューを作成しない限り、タブとロゴの間にスペースを作成する方法は1つしかありません(タイトルが非表示であると仮定して)タブバーの左パディングを設定することです. このためには、テーマに以下が含まれている必要があります。
<style name="MyTheme" parent="@style/Theme.Sherlock">
<item name="actionBarTabBarStyle">@style/MyTabBarStyle</item>
<item name="android:actionBarTabBarStyle">@style/MyTabBarStyle</item>
</style>
には以下MyTabBarStyle
が含まれている必要があります。
<style name="MyTabBarStyle" parent="Widget.Sherlock.ActionBar.TabBar">
<item name="android:paddingLeft">@dimen/my_left_padding</item>
</style>
このバージョンのMyTabBarStyle
は、タブがメイン アクション バーに配置されている場合にのみ表示されるように適切な場所に設定する必要があることに注意してください (これは通常、横向きの構成で発生します) res/values-land/styles.xml
。
メニュー項目の仕切り
メニュー項目がアイコンとして表示されるときに仕切りを作成するのは問題であると正しくおっしゃいました。ちょっとしたトリックを使ってそれを行うことができます - 仕切りをアクション ボタンの背景にエンコードします。次のような 9 パッチのドローアブルを使用する場合 (見やすくするためにスケーリングされています):
次に、緑色の仕切りが作成されます (当然、他の状態のバージョンも作成する必要があります)。
背景を設定するandroid:actionButtonStyle
には、テーマで定義する必要があります。
<style name="MyTheme" parent="@style/Theme.Sherlock">
<item name="actionButtonStyle">@style/MyActionButtonStyle</item>
<item name="android:actionButtonStyle">@style/MyActionButtonStyle</item>
</style>
スタイルには背景を定義する必要があります。
<style name="MyActionButtonStyle" parent="@style/Widget.Sherlock.ActionButton">
<item name="android:background">@drawable/my_actionbutton_bg</item>
</style>
このソリューションでは、各アイテムの前に仕切りを配置できます。オーバーフロー アイコンが表示されている場合は、同様の背景を に定義する必要があることに注意してくださいandroid:actionOverflowButtonStyle
。
この問題に対する別の解決策はandroid:actionLayout
、メニュー項目を定義することです。そこで、各メニュー項目のカスタム レイアウトを定義できます。