背景が半透明のカスタム ダイアログを作成しようとしています。次のコードを使用して、なんとか動作させることができました。
getWindow().setBackgroundDrawableResource(R.color.bg_tran);
ここで、bg_tran == #A0000000 です。ただし、これをいくつかの異なるカスタムダイアログクラスに使用するため、XML で使用したいと考えています。android:background だけを使用しても機能しません。テーマを @android:style/Theme.Translucent に設定することもできませんでした。
属性 android:windowBackground の使用について話している記事をいくつか見つけました。ただし、android:windowBackground 属性は存在しません。つまり、日食はオートコンプリートのオプションとして表示されません。スタイル シートと実際の layout.xml を確認しました。私は 2.2 用にコンパイルしているので、問題があると考え、ビルド ターゲットを 4.0.3 に変更しました。修正なし。とにかく明示的に使用しようとしましたが、うまくいきません。Android Dev Web サイトを検索しましたが、この属性について説明しているページさえ見つかりません。ついでに時々言及することを除けば、何もありません。また、setBackgroundDrawableResource を調べても、同等の XML 属性タグが何であるかはわかりません。私は信じられないほど混乱しています。私は何が欠けていますか?
上記で学習したスタック オーバーフローの参照:
透明なダイアログ テーマ
Android Dialog Transparent
カスタム ダイアログを透明にする方法
更新:
明確でない場合は、はい、テーマ内でこれを設定しようとしました。動作しません。これが私の定義したテーマです:
<style name="my_dialog_theme" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@color/bg_tran</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item>
</style>