Theme.Light.Dialog
を使用しているプロジェクトの残りの部分で使用するTheme.Light
はありません。
Theme.Dialog
をTheme.Light
バージョンのDialog
に変更するにはどうすればよいですか。
以下のように、styles.xmlのTheme.Dialog
のセクションを上書きする必要があることを知っています。どの項目をどの値で上書きする必要がありますか?
<style name="dialog_light" parent="@Android:style/Theme.Dialog">
<item name="Android:???????"></item>
<item name="Android:???????"></item>
</style>
背景を薄い白灰色にすることもできますが、ボタン、スピナーなども、明るい背景で見栄えをよくするために、明るいテーマでは異なります。
[〜#〜]編集[〜#〜]
うまく動いたようです。
<color name="black">#FF000000</color>
<color name="whitegrey">#FFF2F2F2</color>
<style name="dialog_light" parent="@Android:style/Theme.Dialog">
<item name="@Android:windowBackground">@color/whitegrey</item>
<item name="@Android:textColor">@color/black</item>
</style>
うまく動いたようです。
<color name="black">#FF000000</color>
<color name="whitegrey">#FFF2F2F2</color>
<style name="dialog_light" parent="@Android:style/Theme.Dialog">
<item name="@Android:windowBackground">@color/whitegrey</item>
<item name="@Android:textColor">@color/black</item>
</style>
上記に加えて、色を構成することを避けるために、私はこれをしました:
<!-- Makes a "light" equivalent of Theme.Dialog -->
<style name="dialog_light" parent="@Android:style/Theme.Dialog">
<item name="@Android:background">@Android:color/background_light</item>
<item name="@Android:textColor">@Android:color/primary_text_light</item>
</style>
これは良いです、ありがとう!私は少し変更しました。あなたが提案したものを実行すると、画面全体が背景色でペイントされ、ダイアログは(前のアクティビティが淡色表示されて)正常に表示されません。
だから代わりに
@Android:windowBackground
ただ使う
@Android:background