[Android] 背景が半透明の Activity を作る

背景を半透明にしてクールなダイアログ風のActivityを作れます。

下はボタンをタップして新しい半透明背景のActivityに画面遷移した例
 

Android Studio 3.0.1
Android 8.1.0

 



Theme の設定

 
res/values にあるstyles.xmlに元々設定されているAppThemeを継承した新しいThemeを追加します。そのitemとして半透明のラメータと透明度をenableにするためのwindowsTaranslucentをtrueにします。  

 
transparameterで透明度を設定します。
 

 
ここでは「#7f」で半透明にしています。
また、このThemeを新しいActivityのThemeとしてAndroidManifest.xmlに設定
 

 

サンプルコード

 
まとめてみると
 
res/values/styles.xml

 
画面遷移した先のActivityにこのThemeを設定します。
AndroidManifest.xml

 
新しいThemeではandroid:windowNoTitleをtrueに設定してタイトルバーを消しています
 

MainActivity.java
ここではボタンを設定して画面遷移するだけです

 
遷移先のActivityです
TranslucentActivity.java

 
レイアウトのactivity_main.xmlでは画像表示とボタンです
activity_main.xml

 
遷移先のレイアウトは画面の上下が余る画像を表示します
activity_translucent.xml

 
strings.xml

 

サンプル動画

 
Activityを使ったダイアログ風のスクリーンが作れました。
 

 

Ref:
スタイルとテーマ | Android Developers