ページ

2013/05/26

[Android]ActionBarSherlockでActionBarを透過オーバーレイさせる

[Android]ActionBarSherlockの背景色をカスタマイズする | DevAchieve
背景色をカスタマイズできるようになったので透過色を設定して
オーバーレイさせたいと思います。
まずオーバーレイはスタイルで android:windowActionBarOverlay
true を設定します。
ActionBarSherlock を利用しているので windowActionBarOverlay を true にします。
android:windowActionBarOverlay も一緒に設定しておいたほうが良いかもしれません。
<style name="Theme.ActionBar.Overlay" parent="@style/Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/ActionBarCustomStyle</item>
    <item name="windowActionBarOverlay">true</item>
</style>
<style name="Theme.ActionBar.Overlay" parent="@android:style/Theme.Holo">
    <item name="android:actionBarStyle">@style/ActionBarCustomStyle</item>
    <item name="android:windowActionBarOverlay">true</item>
</style>
次はコードから ActionBar の背景色を変更します。
mActionBar = getSupportActionBar();
mActionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.actionBarTranslucent)));
ColorDrawable が int を受け取るのでリソースIDかと思ったら 0xAARRGGBB でした。
Activity のアニメーション次第では透過色の setBackgroundDrawable で一瞬灰色の表示が出てしまいました。
Activity のアニメーションを無効化しておくのが良いかもしれません。