应用动画时警报对话框的黑色背景

时间:2017-05-10 08:22:53

标签: android xml android-alertdialog

我已将动画设置为alertdialog。但是拨号背景变黑了。

我的代码......

AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(MainActivity.this,R.style.DialogSlideAnim);

slide_out_down.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="0%p"
android:toYDelta="100%p" />

slide_up_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="50%p" android:toYDelta="0%p"
android:duration="@android:integer/config_longAnimTime"/>

styles.xml

 <style name="DialogAnimation">
    <item name="android:windowEnterAnimation">@anim/slide_up_dialog</item>
    <item name="android:windowExitAnimation">@anim/slide_out_down</item>
</style>
<style name="DialogSlideAnim" parent="@android:style/Theme.Dialog">
    <item name="android:windowAnimationStyle">@style/DialogAnimation</item>
</style>

如何解决此问题。?

2 个答案:

答案 0 :(得分:0)

我认为您可以使用特定的对话框布局创建自定义对话框,并在Alertdialog.eg中加载该布局:

dialog.setContentView(R.layout.yourlayout);

您的布局背景颜色取决于您。

答案 1 :(得分:0)

请用这个,

 <style name="CustomDialog" parent="@android:style/Theme.Dialog">
    <item name="android:windowAnimationStyle">@style/CustomDialogAnimation</item>
</style>

<style name="CustomDialogAnimation">
    <item name="android:windowEnterAnimation">@anim/slide_out_down</item>
    <item name="android:windowExitAnimation">@anim/slide_up_dialog</item>
    <item name="android:windowFrame">@null</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowTitleStyle">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
    <item name="android:backgroundDimEnabled">false</item>
    <item name="android:background">@android:color/transparent</item>
</style>

并在您的活动中

Dialog dialog = new Dialog(WordActivity.this, R.style.CustomDialog);
    dialog.setTitle("Test");
    dialog.setContentView(R.layout.test);
    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
    dialog.show();

这里测试意味着你的自定义视图....黑色背景是使用android:windowBackground透明的。