首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓PopupWindow showAsDropDown()无法正常工作

安卓PopupWindow showAsDropDown()无法正常工作
EN

Stack Overflow用户
提问于 2012-10-29 11:04:21
回答 2查看 7.5K关注 0票数 16

我正在使用带有showAsDropDown(锚点)的PopupWindow。当锚点位于屏幕顶部时,它可以正常工作,但当锚点位于屏幕底部时,则什么也不显示。根据PopupWindow.showAsDropDown()的文档,这应该是可行的:

http://developer.android.com/reference/android/widget/PopupWindow.html#showAsDropDown%28android.view.View%29

在锚定于锚定视图左下角的弹出窗口中显示内容视图。如果屏幕上没有足够的空间显示整个弹出窗口,此方法将尝试查找要滚动的父滚动视图。如果不能滚动父滚动视图,则将弹出窗口的左下角固定在锚定视图的左上角。

假设弹出窗口始终锚定在锚视图的左下角。我该如何解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2013-12-24 12:29:33

你可以试试这个..也许这会有帮助

代码语言:javascript
复制
mWindow.showAtLocation(mRootView, Gravity.BOTTOM|Gravity.LEFT, 0, distanceFromTop);
票数 4
EN

Stack Overflow用户

发布于 2019-06-03 23:59:32

我知道这是一个老帖子,但我想我应该发布我的解决方案。在调用showAsDropDown()之前,您似乎必须显式设置popupWindow的宽度和高度。

代码语言:javascript
复制
    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中显示的视图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13115401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档