1

ActionBarSherlock のナビゲーション タブをカスタマイズしようとしています。単純にナビゲーション タブの背景を設定すると、タブの既存のテキスト スタイルが失われます。テキストが縮小され、タブ内で左揃えになります。私の理解では、1 つの属性を設定しており、それが親テーマにマージされています。親テーマを完全に置き換えるようです。ナビゲーション タブで 1 つの項目をカスタマイズするためだけに、すべての属性を設定する必要がありますか?

コードは次のとおりです。

/res/values/themes.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="MyTheme" parent="Theme.Sherlock.Light">
    <item name="android:dither">true</item>
    <item name="android:actionBarTabStyle">@style/MyActionBarStyle</item>
    <item name="actionBarTabStyle">@style/MyActionBarStyle</item>
  </style>
  <style name="MyActionBarStyle" parent="Widget.Sherlock.Light.ActionBar.TabBar">
    <item name="android:background">@drawable/my_new_bg</item>
  </style>
</resources>

androidmanifest.xml:

...
<application
        android:name=".MyApplication"
        android:hardwareAccelerated="true"
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:description="@string/app_desc"
        android:theme="@style/MyTheme" >
...
4

2 に答える 2

1

style の属性を見ると、Widget.Sherlock.Light.ActionBar.TabBar継承元に関連するテキストがないことに気付くでしょう。

<style name="Widget.Sherlock.ActionBar.TabBar" parent="Widget">
    <item name="android:divider">?attr/actionBarDivider</item>
    <item name="android:showDividers">middle</item>
    <item name="android:dividerPadding">12dip</item>
</style>
<style name="Widget.Sherlock.Light.ActionBar.TabBar" parent="Widget.Sherlock.ActionBar.TabBar">
</style>

多分あなたは探していactionBarTabStyleますactionBarTabTextStyleか?

<item name="actionBarTabStyle">@style/Widget.Sherlock.Light.ActionBar.TabView</item>
<item name="actionBarTabTextStyle">@style/Widget.Sherlock.Light.ActionBar.TabText</item>
于 2013-05-15T21:42:47.803 に答える
0

このようにしてみてください:

  <style name="MyActionBarStyle" parent="Widget.Sherlock.Light.ActionBar.TabBar">
    <item name="android:background">@drawable/my_new_bg</item>
    <item name="background">@drawable/my_new_bg</item>
  </style>
于 2013-05-15T07:11:13.387 に答える