`
wiseideal
  • 浏览: 443842 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

结合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);//没有设置为focusable
popWin.setBackgroundDrawable(new BitmapDrawable());//不明
popWin.setOutsideTouchable(true);

 

 

  • 大小: 104.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics