showAsDropDown && showAtLocation

来源:互联网 发布:新疆教师网络培训网 编辑:程序博客网 时间:2024/05/18 02:24
   public void showPopWindow(View parentView,int pHeight){
        System.out.println("#### pHeight = "+pHeight);
        LayoutInflater inflater = (LayoutInflater) mActivity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View view = inflater.inflate(R.layout.pop_editeview_layout, null);
        mWindow = new PopupWindow(view, 1000, 40);
        mWindow.setFocusable(true);
//        mWindow.showAtLocation(parentView, Gravity.CENTER | Gravity.TOP, 0, 10);
        mWindow.showAsDropDown(parentView, 0, 0);
        //showAtLocation(View parent, int gravity, int x, int y), 
        //      parent:显示此popwindow的父窗口
        //      gravity: popwindow在父窗口中的重心位置

        //      x,y : popwindo在重心位置的偏移量,可以先依重心位置确定原点,再加上偏移量

        //      好像:传入的parentView无论是什么都会使用Activity的全屏视图。

        
        //showAsDropDown(View anchor, int xoff, int yoff)
        //以anchor左下角位置为原点,加上x,y轴的偏移量(遵循右上原点坐标系),修正原点,显示
        //popwindow的内容,当popwindow超过右边界时,超过的部分向左边挤。
        
        mWindow.setOnDismissListener(new OnDismissListener() {


            @Override
            public void onDismiss() {
                // TODO Auto-generated method stub
            }
        });
        initView(view);
    }
0 0
原创粉丝点击