结合popwindow与gridview的一例
项目中需要实现一个gridview 点击某项弹出一个popupwindow 最蛋疼的是一个突出的尖角指定点击的哪一项
?
然后还需要判断底部空间是否足够显示弹出的popupwindow?
这个功能点 我遇到了两个问题
?
第一个就是尖角的定位了 在一个地方困住了好久?
点击某一个item 这时候getTop的值实际是到parentView的距离 这里我漏掉了顶部状态栏的大小 在不同手机上测试 效果始终不理想。
首先是获取状态类高度
Rect frame = new Rect();getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);return frame.top;
?这个方法在oncreate中只会返回0 因为这时候实际上还没有开始页面的绘画 所以我放在了点击监听器中。
如此在监听器中弹出popupwindow就可以比较精确的定位了
?
?第二个算是小问题
? 怎么在popupwindow弹出的情况下 点击外部区域自动关闭 以为很复杂 结果就是3行代码
popWin = new PopupWindow(popview, dm.widthPixels, 106);//没有设置为focusablepopWin.setBackgroundDrawable(new BitmapDrawable());//不明popWin.setOutsideTouchable(true);
?
?