Aleks G のコメント (質問の下) は正しい方向を示しています。ダイアログの外観は、別のスタイル ( android:alertDialogStyle
) によって定義されます。しかし、スタイルを直接 に適用することはできませんProgressDialog
。では、その黄色の背景を取得するにはどうすればよいでしょうか。
ステップ 1 : から継承するテーマを定義しTheme.Dialog
ます。
<style name="MyTheme" parent="@android:style/Theme.Dialog">
<item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item>
<item name="android:textColorPrimary">#000000</item>
</style>
そこでは、ウィンドウ全体の背景色(問題では黄色)、フォントの色などを定義できます。本当に重要なのはandroid:alertDialogStyle
. このスタイルは、問題の黒い領域の外観を制御します。
ステップ 2 : 以下を定義しCustomAlertDialogStyle
ます。
<style name="CustomAlertDialogStyle">
<item name="android:bottomBright">@color/yellow</item>
<item name="android:bottomDark">@color/yellow</item>
<item name="android:bottomMedium">@color/yellow</item>
<item name="android:centerBright">@color/yellow</item>
<item name="android:centerDark">@color/yellow</item>
<item name="android:centerMedium">@color/yellow</item>
<item name="android:fullBright">@color/yellow</item>
<item name="android:fullDark">@color/yellow</item>
<item name="android:topBright">@color/yellow</item>
<item name="android:topDark">@color/yellow</item>
</style>
これにより、質問の黒い領域が黄色に設定されます。
ステップ 3 :ではなくMyTheme
に適用:ProgressDialog
CustomAlertDialogStyle
ProgressDialog dialog = new ProgressDialog(this, R.style.MyTheme);
結果は次のとおりです。
同じ手順がAlertDialog
( の親クラスであるProgressDialog
) でも機能します。