- final View view = LayoutInflater.from(context).inflate(layoutId, null);
- final Dialog dialog = new Dialog(context, R.style.style_dialog);
- dialog.setContentView(view);
- dialog.show();
- Window window = dialog.getWindow();
- window.setGravity(Gravity.BOTTOM);
- window.setWindowAnimations(R.style.dialog_animation);
- window.getDecorView().setPadding(0, 0, 0, 0);
- WindowManager.LayoutParams lp = window.getAttributes();
- lp.width = WindowManager.LayoutParams.MATCH_PARENT;
- lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
- window.setAttributes(lp);
style_dialog:
- <style name="style_dialog" parent="android:style/Theme.Dialog">
- <item name="android:windowBackground">@color/white</item>
- <item name="android:windowNoTitle">true</item>
- <item name="android:windowIsFloating">true</item>
- <item name="android:windowContentOverlay">@null</item>
- <item name="android:scrollHorizontally">true</item>
- </style>
dialog_animation:
- <style name="dialog_animation">
- <item name="android:windowEnterAnimation">@anim/enter</item>
- <item name="android:windowExitAnimation">@anim/exit</item>
- </style>
enter:
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:android="http://schemas.android.com/apk/res/android"
- android:shareInterpolator="false" >
- <translate
- android:fromYDelta="100%p"
- android:toYDelta="0"
- android:duration="300"
- />
- </set>
exit:
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:android="http://schemas.android.com/apk/res/android"
- android:shareInterpolator="false" >
- <translate
- android:fromYDelta="0"
- android:toYDelta="100%p"
- android:duration="600"
- />
- </set>