PopWindows实现安卓底部选项弹窗。 可以分成超简单的三部,写在一个函数里。
**private void showPopupWindow(View view) { // 第一部! 一个自定义的布局,作为显示的内容 final View contentView = LayoutInflater.from(context).inflate(R.layout.information_popupwindow, null); final PopupWindow popupWindow = new PopupWindow(contentView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true); //第二部! 设置按钮的点击事件,这里的选项我用button来实现,其它控件也可以, Button button1 = (Button) contentView.findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v){ Toast.makeText(context, "点击了", Toast.LENGTH_SHORT).show(); popupWindow.dismiss(); } }); //第三部! 设置poupwindow功能属性 popupWindow.setTouchable(true); popupWindow.setTouchInterceptor(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { Log.i("mengdd", "onTouch : "); return false; // 这里如果返回true的话,touch事件将被拦截 // 拦截后 PopupWindow的onTouchEvent不被调用,这样点击外部区域无法dismiss } // 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键无法dismiss弹框 popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.information_back)); // 设置好参数之后再show popupWindow.showAsDropDown(view); }**