这是简化的代码,用于长时间单击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.
*
但是它总是固定在左下角,而不是左上角。
答案 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