2

このコードを使用して、ActionBarSherlockの色を変更しました。

    <style name="Theme.MyTheme" parent="Theme.Sherlock.Light.DarkActionBar">

    <!-- set style for action bar (affects tab bar too) -->
    <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    <!-- define text style for tabs -->
    <item name="actionBarTabTextStyle">@style/MyTheme.ActionBar.TabText</item>
    <item name="android:actionBarTabTextStyle">@style/MyTheme.ActionBar.TabText</item>
</style>

<style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">

    <!-- define background for action bar (sets default for all parts of action bar - main, stacked, split) -->
    <item name="android:background">#blue</item>
    <item name="background">#blue</item>
    <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyleWhite</item>
    <item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyleWhite</item>

    <!-- set background for the tab bar (stacked action bar) - it overrides the background property -->
    <item name="android:backgroundStacked">#grey</item>
    <item name="backgroundStacked">#grey</item>
</style>

<style name="MyTheme.ActionBar.TabText" parent="Widget.Sherlock.ActionBar.TabText">
    <item name="android:textColor">#black</item>
</style>

<style name="MyTheme.ActionBar.TitleTextStyleWhite" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">#white</item>
</style>

ここでジェイク・ウォートンによって提案されたように:

ActionBarSherlockの背景色を変更する

ただし、ActionBarとTabsの両方が青色に変わります。実際に、上部のactionBarの背景を青に、Tabsの背景を白に変更したい

これを行う方法?

ありがとうございました

4

2 に答える 2

6

ActionbarStyleGeneratorを使用して、必要なものすべての色を変更します。これは、これまでで最も簡単で直感的な方法です。

方法:

  1. UIを使用して、さまざまなアイテムの色を選択します。
  2. 完了したら、ダウンロード.zipをクリックします
  3. ZIPには、プロジェクトのres/layoutおよびres/drawableXXXXフォルダーにコピーする必要がある目的のフォルダーの下にリソースファイルが含まれます。
于 2012-11-08T05:51:15.563 に答える
2

タブバーの背景を変更する方法は2つあります。

1)縦向きでのみタブを使用している場合は、の項目を設定backgroundStacked(およびandroid:backgroundStacked)できます(android:)actionBarStyle。スタックアクションバー(タブバー)の背景を設定します。

テーマには次のものが含まれている必要があります。

<style name="Theme.MyTheme" parent="Theme.Sherlock.Light.DarkActionBar">
    <!-- set style for action bar (affects tab bar too) -->
    <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
</style>

次に、次のActionBarStyleようにする必要があります。

<style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
    <!-- define background for action bar (sets default for all parts of action bar - main, stacked, split) -->
    <item name="android:background">#ff0000ff</item>
    <item name="background">#ff0000ff</item>

    <!--  set background for the tab bar (stacked action bar) - it overrides the background property -->
    <item name="android:backgroundStacked">#ffff</item>
    <item name="backgroundStacked">#ffff</item>
</style>

それがあなたがしなければならないすべてです。しかし、このソリューションはランドスケープでは機能しません。横向きでは、タブをメインアクションバーに移動できます。

2)縦向きと横向きの両方でタブを使用している場合は、別のソリューションを使用する必要があります。

テーマには次のものが含まれている必要があります。

<style name="Theme.MyTheme" parent="Theme.Sherlock.ForceOverflow">
    <!-- set style for action bar -->
    <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>

    <!-- set the tab bar style -->
    <item name="actionBarTabBarStyle">@style/Widget.MyTheme.TabBar</item>
    <item name="android:actionBarTabBarStyle">@style/Widget.MyTheme.TabBar</item>
</style>

そして、タブバースタイルの背景を設定します。

<style name="Widget.MyTheme.TabBar" parent="Widget.Sherlock.ActionBar.TabBar">
    <item name="android:background">#ffff</item>
</style>

:両方のアプローチを組み合わせようとすると、fromactionBarTabBarStyleの背景がからの背景の上に配置されbackgroundStackedます。

:これら2つのアプローチでは、タブバー全体の背景を設定します。タブバーの単一のタブの背景を設定する方法は異なります。

タブのテキストの色

タブのテキストの色を設定する場合は、を定義する必要がありますactionBarTabTextStyle

テーマには次のものが含まれている必要があります。

<style name="Theme.MyTheme" parent="Theme.Sherlock.Light.DarkActionBar">
    ...
    <!-- define text style for tabs -->
    <item name="actionBarTabTextStyle">@style/MyTheme.ActionBar.TabText</item>
    <item name="android:actionBarTabTextStyle">@style/MyTheme.ActionBar.TabText</item>
</style>

タブのテキストスタイルは次のようになります。

<style name="MyTheme.ActionBar.TabText" parent="Widget.Sherlock.ActionBar.TabText" >
    <item name="android:textColor">#FF000000</item>
</style>
于 2012-11-07T13:22:15.270 に答える