PopupWindow离开屏幕的底部边界

时间:2018-10-11 07:11:54

标签: android android-popupwindow

这是简化的代码,用于长时间单击GridView项时用来显示弹出窗口的内容。

当最右边的项目被弹出窗口调整为在屏幕内时。

但是,当屏幕底部附近的项目弹出窗口被裁剪时(部分在屏幕外部)。

如何解决此问题?

PopupWindow mDropDownMenu= new PopupWindow(list, WRAP_CONTENT, WRAP_CONTENT);

mDropDownMenu.showAsDropDown(aView);

aView是GridView项。

文档中介绍了showAsDropDown(查看锚点)

 * Display the content view in a popup window anchored to the bottom-left
 * corner of the anchor view. If there is not enough room on screen to show
 * the popup in its entirety, this method tries to find a parent scroll
 * view to scroll. If no parent scroll view can be scrolled, the
 * bottom-left corner of the popup is pinned at the top left corner of the
 * anchor view.
 *

但是它总是固定在左下角,而不是左上角。

2 个答案:

答案 0 :(得分:1)

事实证明,我必须设置下拉菜单的高度以避免出现此问题

List<DropDownListItem> items;

dropDown.setHeight( toPixels( 30 * items.size() ) );

答案 1 :(得分:0)

找到了解决方案。您必须测量视图并在$ sed -e '/2:Desctop 456/,/Dir num:10/{//!d}' inputFile 1:Alice 2313 2:Desctop 456 Dir num:10 File num:90 ... ... 上设置测量值。

PopupWindow