我创建了一个类,该类根据馈入的参数生成PopupWindow。我相信这比我的PopupWindow操纵基于XML的内容更适合我的需求。如何在Android的屏幕上显示非XML PopupWindow
创建窗口和它的内容似乎顺利进行 - 它实际上让内容出现在屏幕上,我还无法管理。问题是,我一直无法找到一个不依赖于LayoutInflater函数的PopupWindow代码在屏幕上的示例。由于我的PopupWindow不是从XML文件生成的,因此我无法使用LayoutInflater将它放置在屏幕上。
另外我应该解释的是,我的PopupWindow生成类是在它自己的文件。即它不是活动文件的子类。我这样做了,这样我就可以轻松地将我的自定义PopupWindow类复制到我可能开发的任何未来项目中。
这里是我的课的基本布局:
class myPopup extends Object {
public myPopup(parameters){
ViewGroup winBody;
// "winbBody" will be the content of the PopupWindow.
// Code that fills and adjusts "winBody" based on the parameters goes here.
int width = //Determined by parameters.
int height = //Determined by parematers.
PopupWindow pw = new PopupWindow(winBody, width, height, true);
//This is as far as I seem to get before getting stuck.
}
}
据我了解,我应该以某种方式使用PopupWindow功能“showAtLocation”,但我很清楚我应该用这个东西的参数。有人能告诉我如何让我的弹出窗口出现在屏幕上吗?希望在它的中心。 :)
我完全确定这个问题,但是你可以在java中以编程的方式创建PopupWindow布局,这可能意味着你的窗口可能是一种动态的调用呼叫 – 2011-11-17 17:11:27
是的,这或多或少上面的代码做了什么。 (我没有在这个问题中提供完整的代码,因为它很长,大部分与我的问题无关。) – Cambot
使用popupWindow的更新方法怎么样? – 2011-11-17 17:25:39