1.继承Dialog。
2. setContentView(layoutId);
3.设置dialog的相关属性。分为两部分,一部分是dialog的,一部分是window的。
setCanceledOnTouchOutside(false); //点击dialog外是否消失
getWindow().setGravity(Gravity.BOTTOM); //dialog在屏幕的排布方式。
setOnDismissListener(this); //消失的监听
final Window win = dialog.getWindow();
win.setWindowAnimations(R.style.EnterPasswordStyle); //动画
WindowManager windowManager = win.getWindowManager();
Display display = windowManager.getDefaultDisplay();
WindowManager.LayoutParams lp =win.getAttributes();
lp.width = (int) (display.getWidth()); //设置宽度
win.setAttributes(lp);
window的入场和出场动画设置:
<item name="android:windowEnterAnimation">@anim/push_bottom_in</item>
<item name="android:windowExitAnimation">@anim/push_bottom_out</item>
push_bottom_in 文件
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromYDelta="100%p"
android:toYDelta="0" />