第一次实现popuwindow弹出框,简单好用。
在onCreate方法中:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); po_window= getLayoutInflater().from(this).inflate(R.layout.ppwindow,null);//要弹出的布局 searchView= (ImageButton) findViewById(R.id.search_view); searchView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { popupWindow = getPopuWindow(po_window); } });}
public PopupWindow getPopuWindow(View view) {
View parent= mLayoutInfalter.inflate(R.layout.activity_main, null);PopupWindow pop=new PopupWindow(view, WindowManager.LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.WRAP_CONTENT); // pop.setAnimationStyle(R.style.AppTheme); pop.setFocusable(true); pop.setOutsideTouchable(true); backgroundAlpha(0.5f);//半透明 Log.d("=====","000");// ColorDrawable dw = new ColorDrawable(0xb0000000); //设置SelectPicPopupWindow弹出窗体的背景// pop.setBackgroundDrawable(dw); pop.showAtLocation(parent, Gravity.BOTTOM, 0, 0);//parent是当前popuwindow要显示在其上的布局。
pop.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { backgroundAlpha(1f);//全透明 } }); return pop; }
//背景透明度设置 public void backgroundAlpha(float bgAlpha){ WindowManager.LayoutParams lp=getWindow().getAttributes(); lp.alpha=bgAlpha; getWindow().setAttributes(lp); }