我正在使用带有showAsDropDown(锚点)的PopupWindow。当锚点位于屏幕顶部时,它可以正常工作,但当锚点位于屏幕底部时,则什么也不显示。根据PopupWindow.showAsDropDown()的文档,这应该是可行的:
http://developer.android.com/reference/android/widget/PopupWindow.html#showAsDropDown%28android.view.View%29
在锚定于锚定视图左下角的弹出窗口中显示内容视图。如果屏幕上没有足够的空间显示整个弹出窗口,此方法将尝试查找要滚动的父滚动视图。如果不能滚动父滚动视图,则将弹出窗口的左下角固定在锚定视图的左上角。
假设弹出窗口始终锚定在锚视图的左下角。我该如何解决这个问题?
发布于 2013-12-24 12:29:33
你可以试试这个..也许这会有帮助
mWindow.showAtLocation(mRootView, Gravity.BOTTOM|Gravity.LEFT, 0, distanceFromTop);发布于 2019-06-03 23:59:32
我知道这是一个老帖子,但我想我应该发布我的解决方案。在调用showAsDropDown()之前,您似乎必须显式设置popupWindow的宽度和高度。
menuLayout.measure( View.MeasureSpec.UNSPECIFIED,
View.MeasureSpec.UNSPECIFIED );
int height = menuLayout.getMeasuredHeight();
int width = menuLayout.getMeasuredWidth();
popupMenu.setWidth( width );
popupMenu.setHeight( height );
popupMenu.showAsDropDown( clickedCell );在本例中,menuLayout是popupWindow中显示的视图。
https://stackoverflow.com/questions/13115401
复制相似问题