Android中PopupWindow显示在控件的左边

来源:互联网 发布:会员注册软件 编辑:程序博客网 时间:2024/05/22 07:07

1.。本来在网上找了一个别人写的poupwindow的例子在用。可是产品的弱智非要写成在左边的,写就写吧。

2,直接上代码吧:

 //弹出泡泡窗口                View view = View.inflate(context,R.layout.responsepoupwindos,null);                  view.findViewById(R.id.saysome).setOnClickListener(new View.OnClickListener() {                      @Override                      public void onClick(View v) {                          onNDAReplyClick(position);                      }                  });                  view.findViewById(R.id.police).setOnClickListener(new View.OnClickListener() {                      @Override                      public void onClick(View v) {                          Toast.makeText(context, "举报成功!", Toast.LENGTH_SHORT).show();                      }                  });                PopupWindow pop = new PopupWindow(view,                        RadioGroup.LayoutParams.WRAP_CONTENT,                        RadioGroup.LayoutParams.WRAP_CONTENT, false);                pop.setFocusable(true);                pop.setBackgroundDrawable(new BitmapDrawable());                pop.setOutsideTouchable(true);//                int[] location = new int[2];//                v.getLocationOnScreen(location);                view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);              int  mShowMorePopupWindowWidth = -view.getMeasuredWidth();                 int  mShowMorePopupWindowHeight = -view.getMeasuredHeight();                Log.e("rewidth",view.getWidth()+"");//                pop.showAtLocation(v, Gravity.NO_GRAVITY, location[0]-//                        v.getWidth()/2-pop.getWidth()/2, location[1]);////                onNDAReplyClick(position);                pop.showAsDropDown(holder.reply,mShowMorePopupWindowWidth,mShowMorePopupWindowHeight);
关键代码是最后一句。
  pop.showAsDropDown(holder.reply,mShowMorePopupWindowWidth,mShowMorePopupWindowHeight);
mShowMorePopupWindowWidth
mShowMorePopupWindowHeight
这两个参数是泡泡窗口的宽和高。。别傻傻的用view.getwidth和view.gethigth了,用我下面这几行代码就行了。

 view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);              int  mShowMorePopupWindowWidth = -view.getMeasuredWidth();                 int  mShowMorePopupWindowHeight = -view.getMeasuredHeight();
效果图如下




0 0
原创粉丝点击