くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

AndroidのActivityを透過させて表示させるスタイル

画像を拡大表示するときに背景を透明にしたいなと思ったので、調べたときの備忘録

ほぼ、Nyanさんの記事の通り!

styles.xmlに半透明になるスタイルを追加して、AndroidManifest.xmlでactivityに設定するだけ

まずは、styles.xmlに以下のスタイルを追加する。

SupportLibraryのAppCompatActivityを使うかどうかで若干違うので注意

Activityの場合

Activityの場合は、参考サイトの通り、「android:style/Theme.Translucent」を継承

<resources>
    <!-- 半透明背景設定 -->
    <drawable name="transparameter">#7f000000</drawable>
    <style name="Theme.TranslucentBackground" parent="android:style/Theme.Translucent">
        <item name="android:windowBackground">@drawable/transparameter</item>
        <item name="android:windowNoTitle">true</item>
    </style>
</resources>

AppCompatActivityの場合

AppCompatActivityの場合は、「style/AppTheme.NoActionBar」とかを継承

<resources>

    <!-- 半透明背景設定 -->
    <drawable name="transparameter">#7f000000</drawable>

    <style name="Theme.TranslucentBackground" parent="style/AppTheme.NoActionBar">
        <item name="android:windowBackground">@drawable/transparameter</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@android:style/Animation</item>
    </style>
</resources>

以上!!簡単!!

参考人したサイト様