第一步 : 初始化PopupWindow
private void initPop() { if (view == null) {
// 照片
view = View.inflate(RegisterActivity.this, R.layout.pop_phone, null); / /加载对象
}
if (mPopupWindow == null) {
mPopupWindow = new PopupWindow(view, LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT, true);
} }
第二步 ,点击事件打开开
// 打开pop
private void openPopup() {
mPopupWindow.setBackgroundDrawable(new ColorDrawable(Color
.parseColor("#b0000000"))); //设置背景颜色
mPopupWindow.showAtLocation(register_lay_out, Gravity.BOTTOM, 0, 0);
mPopupWindow.setAnimationStyle(R.style.app_pop);
mPopupWindow.setOutsideTouchable(true); //点击外面关闭
mPopupWindow.setFocusable(true); //得到焦点
mPopupWindow.update();
}
R.style.app_pop
<style name="AppTheme" parent="android:Theme.Light" />
<style name="app_pop">
<item name="android:windowEnterAnimation">@anim/pop_up</item>
<item name="android:windowExitAnimation">@anim/pop_down</item>
</style>
pop_up.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="0"
android:fromYDelta="100%"
android:toYDelta="0%"
android:duration="200">
</translate>
pop_down.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="0"
android:fromYDelta="0%"
android:toYDelta="100%"
android:duration="200">
</translate>
附录 :打开前 先判断 关闭
private void dismissPopupWindow() {
// 把旧的弹出窗体关闭掉。
if (mPopupWindow != null && mPopupWindow.isShowing()) {
mPopupWindow.dismiss();
// mPopupWindow = null;
}
}