【Android】 PopupWindow使用小结

    PopupWindow的很多用法网上比较多,我就不做过多解释了,只说下可能会遇到的问题,以及解决办法:


       1、PopupWindow中的listview无响应

      这个主要是因为show写在了setFocusable前面


      2、点击PopupWindow外面区域,不会自动dismiss

      这个主要可能是没有调用setBackgroundDrawable以及setOutsideTouchable,

      当然了,你肯定还得写响应监听这个动作,如下面代码


     mPopupWindow.setTouchInterceptor(new OnTouchListener() {
				@Override
				public boolean onTouch(View v, MotionEvent event) {
					if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
						mPopupWindow.dismiss();
						Log.i("test", "test");
						return true;
					}
					
					return false;
				}
			});

       3、将默认的箭头放到右边

           

      int width = getWindowManager().getDefaultDisplay().getWidth();
      mListView.setIndicatorBounds(width-40, width-10);

你可能感兴趣的:(android)