之前在做项目的时候,做了一个分享的功能,调用的是友盟的第三方,功能实现的很完美,也完美分享了,但是在测试的时候,我用魅族X4的手机分享弹出的popwindow被手机自身的虚拟键挡住了,在网上找了好多资料,说可以把手机的虚拟键给关闭,却是也做到了,但是好像不太符合逻辑。看到qq的就不会被挡到心里很佩服qq的大神们是怎么做到的。经过我不断的在网上找popwindow的例子代码,终于发现在设置popwindow的高度的时候我设置成了wrap_content,在这里我觉得有必要讲一下wrap_content、match_parent、fill_parent的区别:
1)fill_parent
设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。
2) wrap_content
设置一个视图的尺寸为wrap_content将强制性地使视图扩展以显示全部内容。以TextView和ImageView控件为例,设置为wrap_content将完整显示其内部的文本和图像。布局元素将根据内容更改大小。设置一个视图的尺寸为wrap_content大体等同于设置Windows控件的Autosize属性为True。
3)match_parent
Android2.2中match_parent和fill_parent是一个意思.两个参数意思一样,match_parent更贴切,于是从2.2开始两个词都可以用。那么如果考虑低版本的使用情况你就需要用fill_parent了
这里面只需要将popwindow的高度设置成match_parent就不会再被手机自带的虚拟键盘挡住了。