//PopupWindow显示的方法有三个:
//showAsDropDown(anchor),showAsDropDown(anchor, xoff, yoff)和showAtLocation(parent, gravity, x, y)。
//前两个showAsDropDown方法是让PopupWindow相对于某个控件显示,而showAtLocation是相对于整个窗口的。
//第一个参数是View类型的parent,虽然这里参数名是parent,其实,不是把PopupWindow放到这个parent里,
//并不要求这个parent是一个ViewGroup,这个参数名让人误解。
//官方文档”a parent view to get the android.view.View.getWindowToken() token from“,
//这个parent的作用应该是调用其getWindowToken()方法获取窗口的Token,所以,只要是该窗口上的控件就可以了。
//第二个参数是Gravity,可以使用|附加多个属性,如Gravity.LEFT|Gravity.BOTTOM。
//第三四个参数是x,y偏移。
//假设有一个TextView,我们需要把一个PopupWindow显示到这个TextView的左下角,
//这时我们应使用showAsDropDown()方法:
popupWindow.showAsDropDown(textView,textView.getWidth(),0);
//假设我们需要把一个PopupWindow相对于整个屏幕显示到左下角,
//这时我们应使用showAtLocation()方法:
popupWindow.showAtLocation(parent,Gravity.LEFT|Gravity.BOTTOM,0,0);
//这里的parent代表屏幕上的任意一个控件。至于后两个参数的作用可自行研究。
Android开发之PopupWindow的showAtLocation()和showAsDropDown()
最新推荐文章于 2021-10-10 13:42:41 发布