Holo Lightテーマを継承し、ActionBarの背景を次のようにカスタマイズしました。
Styles.xmlのコンテンツ
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ActionBar" parent="@Android:style/Widget.Holo.ActionBar">
<item name="Android:background">@drawable/actionbar_background</item>
</style>
<style name="MyTheme" parent="@Android:style/Theme.Holo.Light">
<item name="Android:actionBarStyle">@style/ActionBar</item>
</style>
</resources>
Actionbar_background.xmlのコンテンツ
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:src="@raw/actionbar_background"
Android:tileMode="repeat" />
繰り返される代わりに、画像が引き伸ばされます。なぜAndroid:tileMode = "repeat"が適用されないのでしょうか?
前もって感謝します
OK、#Android-dev IRCチャンネルのRomain Guyのおかげで、ハニカムの既知のバグ/ Android 3.0は次のリリースで修正されます。それ以来、唯一の解決策はコードからそれを行うことであり、動作します:-)
final ActionBar actionBar = getActionBar();
BitmapDrawable background = new BitmapDrawable (BitmapFactory.decodeResource(getResources(), R.raw.actionbar_background));
background.setTileModeX(Android.graphics.Shader.TileMode.REPEAT);
actionBar.setBackgroundDrawable(background);
Drawable d=getResources().getDrawable(R.drawable.background_image_name);
getActionBar().setBackgroundDrawable(d);
上記のコードは、アクションバーの背景画像を設定します。
それが役に立てば幸い。
これは簡単にできます。アクションバーの背景画像を変更する場合は、このコードをres/styles.xmlファイルに配置します。
<style name="Theme.MyAppTheme" parent="@Android:style/Theme.Holo">
<item name="Android:actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item>
</style>
<style name="Theme.MyAppTheme.ActionBar" parent="@Android:style/Widget.Holo.ActionBar">
<item name="Android:background">@drawable/top_black_bg</item>
</style>
このためには、「描画可能」フォルダから画像を選択する必要があります。ここでは、画像「tp_black_bg.png」を選択します
その後、このテーマをAndroidManifest.xmlファイルに宣言することを忘れないでください
<application
.
.
.
Android:theme="@style/Theme.MyAppTheme" >.............</application>
これで、XMLレイアウトファイルを再び開くことができ、効果を簡単に確認できます。同様に、ActionBarの背景色を変更することもできます。
ありがとう。
mActionBar.setBackgroundDrawable(getResources().getDrawable(R.drawable.navbar));
下位互換性のために、Android.support.v7のgetSupportActionBar()を使用します。