尝试为alertDialogbox设置主题时出错。我在alertdialogbox后面打赌白盒子。知道如何摆脱它吗?这是styles.xml的代码。
<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>
答案 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的情况下尝试,请务必在多台设备上进行测试。您需要为API 21之前和之后的手机提供不同的主题,并通过设置或隐藏它来自行处理android:windowBackground
。
答案 2 :(得分:0)
尝试添加到alertTheme
<item name="android:background">@null</item>