初识PopupWindow

昨天搞了一下PopupWindow,总结一下方法,方便以后使用。
直奔主题!!这里我是仿的微信的弹窗~

/** * 初始化设置弹窗 */
    private void showPopWindow() {
        View view = getLayoutInflater().inflate(R.layout.popwindow,null);
        TextView qunliao = (TextView) view.findViewById(R.id.qunliao);
        TextView add_friend = (TextView) view.findViewById(R.id.add_friend);
        TextView saoyisao = (TextView) view.findViewById(R.id.saoyisao);
        TextView getorpaymoney = (TextView) view.findViewById(R.id.getorpaymoney);
        TextView feedbackandhelp = (TextView) view.findViewById(R.id.feedbackandhelp);
        qunliao.setOnClickListener(this);
        add_friend.setOnClickListener(this);
        saoyisao.setOnClickListener(this);
        getorpaymoney.setOnClickListener(this);
        feedbackandhelp.setOnClickListener(this);
        PopupWindow popupWindow = new PopupWindow(view,450,ViewGroup.LayoutParams.WRAP_CONTENT);
        popupWindow.setFocusable(true);
        popupWindow.setOutsideTouchable(true);
        //设置弹窗防止被软键盘覆盖
    popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
        //设置动画效果(可以自定义效果,这里我用的系统的)
        popupWindow.setAnimationStyle(android.R.style.Animation_Translucent);
        popupWindow.showAsDropDown(text_weixin, 550, 40);

区分一下这3个设置弹窗显示位置的方法:

showAsDropDown(view)
弹窗在view的正下方,弹出的popwindow左上角正对view的左下角,无偏移
showAsDropDown(view,xoff,yoff)
弹窗在view的正下方,有偏移,偏移量:xoff为正往右偏移 yoff为正往下偏移。为负反之。
showAtLocation(parent, gravity, x, y);
相对于父控件的位置(Gravity.TOP或Gravity.CENTER或Gravity.BOTTOM)
parent:当前Layout的id
gravity:Gravity.BOTTOM(以屏幕左下角为参照)... 偏移量会以它为基准点 当x,y都为0时出现在底部居中 

OK ,show over~ 有错误不足的地方,欢迎小伙伴们指正~

你可能感兴趣的:(初识PopupWindow)