PopupWindow的很多用法网上比较多,我就不做过多解释了,只说下可能会遇到的问题,以及解决办法:
1、PopupWindow中的listview无响应
这个主要是因为show写在了setFocusable前面
2、点击PopupWindow外面区域,不会自动dismiss
这个主要可能是没有调用setBackgroundDrawable以及setOutsideTouchable,
当然了,你肯定还得写响应监听这个动作,如下面代码
[java] view plaincopy
- <span style="font-family: ‘Microsoft YaHei‘; "><span style="font-size:18px;"> 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;
- }
- });</span></span>
3、将默认的箭头放到右边
[java] view plaincopy
- <span style="font-family: ‘Microsoft YaHei‘; "><span style="font-size:18px;"> int width = getWindowManager().getDefaultDisplay().getWidth();
- mListView.setIndicatorBounds(width-40, width-10);</span></span>
时间: 2024-10-11 13:42:43