警报对话框主题问题

时间:2016-02-04 21:07:50

标签: android android-studio

尝试为alertDialogbox设置主题时出错。我在alertdialogbox后面打赌白盒子。知道如何摆脱它吗?这是styles.xml的代码。 enter image description here

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowSoftInputMode">stateUnchanged|adjustPan</item>
    <item name="android:alertDialogTheme">@style/alertTheme</item>
</style>

   <style name="alertTheme" parent="@android:style/Theme.Holo.Light.Dialog">
    </style>

3 个答案:

答案 0 :(得分:2)

window.location = "http://example.com"; $(document).ready(function(){ //DO SOMETHING WHEN PAGE 'example.com' IS LOADED }); 资源文件夹中,您的values应具有以下属性:

alertDialogTheme

其中@ color / translucent在colors.xml中定义为<!-- In API <21, this gives a funky background. Set to translucent --> <item name="android:windowBackground">@color/translucent</item>,其不透明度为0。

#00000000资源文件夹中,您的values-v21应具有以下属性:

alertDialogTheme

据我所知,这对任何API中的Dialogs都没有任何作用:

<!-- In API 21+, this is the dialog background color --> <item name="android:windowBackground">@color/someColor</item>

我只在Light AppCompat主题上对此进行了测试。

答案 1 :(得分:1)

您不提供任何代码,但无论如何应使用 AppCompat

您的对话框样式应该继承自AppCompat.Dialog

<style name="AlertDialog" parent="Theme.AppCompat.Light.Dialog"/>

并且您应使用AppCompat AlertDialog。此外,您然后将您的样式传递给构造函数。

new android.support.v7.app.AlertDialog.Builder(context, R.style.AlertDialog).show();

没有AppCompat

如果您选择在没有AppCompat的情况下尝试,请务必在多台设备上进行测试。您需要为API 21之前和之后的手机提供不同的主题,并通过设置或隐藏它来自行处理android:windowBackground

答案 2 :(得分:0)

尝试添加到alertTheme

<item name="android:background">@null</item>