首页 > 代码库 > PopupWindow 从底部弹出窗体

PopupWindow 从底部弹出窗体

第一步  : 初始化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;        }    }

 

PopupWindow 从底部弹出窗体