5

ActionBar実装したスタックに、一番左のタブと画面の端の間にギャップがある理由がわかりません。

一番左のタブに左分割の問題がある

これは、一番右のタブには当てはまりません。

右端のタブには仕切りの問題はありません

をスタイリングして仕切りを取り除こうとしましたActionBar。スタイルを少しいじってみたところ、TabView スタイルの属性はオーバーライドできますが、スタイルの属性はオーバーライドできないようTabBarですActionBarSherlock

<style name="ActionBarTabBarStyle.Dark" parent="@style/Widget.Sherlock.ActionBar.TabBar">
    <item name="android:divider">@null</item>
    <item name="android:showDividers">none</item>
    <item name="android:dividerPadding">0dip</item>
</style>

次に、同じ接頭辞のない属性を含める必要があることに気付きました。

ActionBarSherlock テーマ

Due to limitations in Android's theming system any theme customizations must be declared 
in two attributes. The normal android-prefixed attributes apply the theme to the native 
action bar and the unprefixed attributes are for the custom implementation. Since both 
theming APIs are exactly the same you need only reference your customizations twice rather 
than having to implement them twice.

しかし、接頭辞が付いていない同一の属性を含めようとしましたが、うまくいきませんでした。

同一の接頭辞なしの属性を含めようとしました。

<style name="ActionBarTabBarStyle.Dark" parent="@style/Widget.Sherlock.ActionBar.TabBar">
    <item name="android:divider">@null</item>
    <item name="android:showDividers">none</item>
    <item name="android:dividerPadding">0dip</item>
    <item name="divider">@null</item>
    <item name="showDividers">none</item>
    <item name="dividerPadding">0dip</item>
</style>

しかし、それはエラーをスローします

Error: No resource found that matches the given name: attr 'dividerPadding'.
Error: No resource found that matches the given name: attr 'showDividers'.

そのため、これらの 2 つの属性を削除して再度実行しようとしましたが、タブバーの仕切りがまだ表示されます。

<style name="ActionBarTabBarStyle.Dark" parent="@style/Widget.Sherlock.ActionBar.TabBar">
    <item name="android:divider">@null</item>
    <item name="android:showDividers">none</item>
    <item name="android:dividerPadding">0dip</item>
    <item name="divider">@null</item>
</style>

私の AndroidManifest.xml ファイルに、

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18"/>

何が問題なのかについての提案や考えはありますか?

アップデート

私も試しました

<style name="Theme.Dark" parent="@style/Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarDivider">@null</item>
    <item name="android:actionBarDivider">@null</item>
</style>

しかし、これでも仕切りは削除されませんでした。これらの属性をオーバーライドする別の属性はありますか?

4

2 に答える 2

0

私は ActionBarSherlock を維持することを含む答えを持っている人なら誰でも受け入れますが、私はこのライブラリを削除しました。ActionBarSherlock に問題がある可能性があります。しかし、サポートされなくなったので、最善の解決策はサポート ライブラリを使用することだと思います。

于 2013-12-10T01:43:52.430 に答える