6

アプリを古いデバイスと互換性を持たせるために、ActionBarSherlock を使用しています。実装は簡単でしたが、タブの下に表示されるデフォルトの Holo の青い線を赤い線にスタイル設定する必要があります。

SOのいくつかのトピック (トピック 1トピック 2 ) と ABS ドキュメント (リンク)を読んでいますが、うまくいきません。

これは私がこれまでに持っているものです。

AndroidManifest.xml で、この行をapplicationタグに追加しました。

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.Sherlock" > <!-- SET THE DEFAULT THEME -->

次に、res/values/styles.xml私は持っています:

<resources>
    <style name="AppTheme" parent="android:Theme.Light" />

    <style name="Theme.MyTheme" parent="Theme.Sherlock">
        <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
        <item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    </style>

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

しかし、アプリを実行すると、デフォルトの青い線の色が表示されます。

私は何を間違っていますか?


編集

ActionBarSherlock のスタイルを完全に設定したい場合は、これをお読みください。

私は次のリンクを提供する SO で答えを見つけました: http://jgilfelt.github.com/android-actionbarstylegenerator

これは、完全にカスタマイズされた ABS に必要なすべてのファイルを生成する簡単なジェネレーターです! 生成されたファイルを適切なフォルダーにコピーするだけで準備完了です。

AndroidManifest でスタイルを有効にすることを忘れないでください (ジェネレーターにスタイル名を入力する必要があります)。それについては、以下の回答を参照してください。

4

2 に答える 2

8

いくつかのこと:

継承してアプリのテーマに使用するよう<style name="AppTheme" parent="android:Theme.Light" />に変更しない限り、もう必要ありません。Theme.Sherlockこれを行うことにした場合はTheme.MyTheme、アクティビティに使用する必要があります。

いずれにせよ、変更したい問題を修正するには

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.Sherlock" >

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.MyTheme" >

または、テーマをアクティビティに直接適用できます。

 <activity 
    android:name="com.awesome.package.activity.SomeActivity"
    android:theme="@style/Theme.MyTheme"/>

補足として、この優れたアクションバーテーマジェネレーターをお勧めします

于 2012-08-06T09:11:45.943 に答える
1

マニフェスト ファイルのテーマを次のように設定します。

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.MyTheme" >

すべての Sherlock テーマが保持され、カスタム スタイルが追加されます。

于 2012-08-06T09:01:37.127 に答える