我已将动画设置为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>
如何解决此问题。?
答案 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透明的。