31

私はActionBarsherlockを実装しており、アクションバーの背景を変更したいと考えています。

プロパティをオーバーライドしますが、青い仕切りが消えます。青い仕切りでカスタム背景を使用するにはどうすればよいですか?

<style name="Theme.MyTheme" parent="Theme.Sherlock.ForceOverflow">
    <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">#ff3e3f3d</item>
    <item name="background">#ff3e3f3d</item>
</style>

4

4 に答える 4

76

(私のように) 9 パッチ画像をいじるのが苦手な人は、xml ドローアブルを使用して、アクション バーの下部にある仕切りを取得できます。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Bottom Line -->
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/action_bar_line_color" />
        </shape>
    </item>

    <!-- Color of your action bar -->
    <item android:bottom="2dip">
        <shape android:shape="rectangle">
            <solid android:color="@color/action_bar_color" />
        </shape>
    </item>
</layer-list>

これを drawable/action_bar_background.xml として保存し、テーマに適用します。

<style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
    <item name="android:background">@drawable/action_bar_background</item>
    <item name="background">@drawable/action_bar_background</item>
</style>
于 2012-06-13T01:04:03.630 に答える
17

http://jgilfelt.github.io/android-actionbarstylegenerator/

このプロジェクトを使用して、必要な ActionBar スタイルを生成できます。

于 2012-06-20T12:43:24.237 に答える
7

青い仕切りは、デフォルトでは背景です。これは、高さに関係なく、常にアクション バーの下部に線が表示されるようにする 9 パッチのドローアブルです。

あなたの状況では、デフォルト.pngの background を Android からコピーしてから、9 パッチの拡張可能なセクションがターゲットの背景色になるように変更します。これにより、下部の青い境界線を維持しながら、アクション バーが目的の色で塗りつぶされます。

于 2012-04-28T17:31:41.357 に答える