答案 0 :(得分:1)
你可以试试这个你可以使用带有动画的对话框用这个代码你可以创建对话框,动画在对话框显示时向上滑动,在对话框解除时向下滑动
像这样创建对话
final Dialog customDialog = new Dialog(context, R.style.DialogSlideAnim);
customDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
customDialog.setContentView(R.layout.custom_dialog_filter);
customDialog.setTitle("");
Window window = customDialog.getWindow();
window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
window.setGravity(Gravity.BOTTOM);
customDialog.show();
在style.xml中创建此主题
<style name="DialogAnimation">
<item name="android:windowEnterAnimation">@anim/anim_slide_up</item><!--animation file-->
<item name="android:windowExitAnimation">@anim/anim_slide_down</item><!--animation file-->
<item name="android:windowFrame">@null</item><!--frame-->
<item name="android:windowNoTitle">true</item>
</style>
<!-- Animation for dialog box -->
<style name="DialogSlideAnim">
<item name="colorPrimaryDark">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item> <!--shadow-->
<item name="android:windowIsFloating">false</item>
<item name="android:backgroundDimEnabled">true
</item> <!-- true: create shadow effect when open dialog -->
<item name="android:windowAnimationStyle">@style/DialogAnimation</item>
</style>
现在创建像anim_slide_up
这样的动画文件<?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="50%p"
android:toYDelta="0%p" />
现在创建像anim_slide_down这样的动画文件
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="0%p" android:toYDelta="50%p"
android:duration="@android:integer/config_longAnimTime"/>
如果有任何疑问,请询问我
答案 1 :(得分:1)