こんにちは、アラートダイアログでこの外観を実現したいのですが、どうすればよいかわかりません。透明なアラートダイアログをAndroidで表示する方法は知っていますが、半透明であるための手がかりが見つかりません。どうやって始めたらいいのか、意見やガイドを残してください。本当にありがとう!
更新:申し訳ありませんが、実際には通常のアラートダイアログの代わりにアラートダイアログテーマでxmlを使用していることを含めるのを忘れました。
こんにちは、アラートダイアログでこの外観を実現したいのですが、どうすればよいかわかりません。透明なアラートダイアログをAndroidで表示する方法は知っていますが、半透明であるための手がかりが見つかりません。どうやって始めたらいいのか、意見やガイドを残してください。本当にありがとう!
更新:申し訳ありませんが、実際には通常のアラートダイアログの代わりにアラートダイアログテーマでxmlを使用していることを含めるのを忘れました。
基になるアクティビティを暗くしないで確認するには:
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
ダイアログの背景を半透明にするには、背景色をアルファ<255に設定する必要があります(Color
APIを参照)。
カスタムダイアログを作成して、スタイルを参照できます。
final Dialog dialog = new Dialog(context,R.style.cust_dialog);
次に、dialog_style.xmlという名前のvaluesフォルダーにxmlを作成します。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="cust_dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowBackground">@color/transparent_color</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:textSize">30dp</item>
<item name="android:gravity">left</item>
</style>
</resources>
また、color.xmlを作成します。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="transparent_color">#00000000</color>
</resources>
これにより、半透明のダイアログボックスが表示されます。
必要に応じて半透明を制御できます。
お役に立てば幸いです。
この行を追加します。
dialog.setBackgroundColor(Color.argb(0,0,0,0);