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>
(私のような)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>
http://jgilfelt.github.io/Android-actionbarstylegenerator/
このプロジェクトを使用して、必要なActionBarスタイルを生成できます。
青い仕切りは、デフォルトでは背景です。これは9パッチのドローアブルであり、ラインが高さに関係なく常にアクションバーの下部に表示されるようにします。
あなたの状況では、デフォルトの背景をコピーします.png
s from Android次に、9パッチの展開可能なセクションがターゲットの背景色になるように変更します。これにより、アクションバーが目的の色で塗りつぶされ、底。
DanielGrechによって提供された回答の最新情報。アクションバーの下部で独自のカスタムグラフィックを使用することもできます。このような:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<!-- Bottom Line with custom graphic instead of a solid color-->
<item Android:drawable="@drawable/bar">
<shape Android:shape="rectangle"/>
</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>