10

这是 XML(只是一个 web 视图):

<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/couponView" android:layout_height="100dp" android:layout_width="100dp" />

和代码:

final View cView = getLayoutInflater().inflate(R.layout.couponlayout, null);
PopupWindow pw = new PopupWindow(cView);
pw.showAtLocation(findViewById(R.id.mainLayout), Gravity.CENTER, 100, 100);
pw.update();

这是在 button.onClick() 方法中。当我单击按钮时,应该发生的其余事情(按钮更改颜色、文本等),但 PopupWindow 不显示。我一直在梳理网络,但找不到任何修复方法。我究竟做错了什么?

编辑:没有人知道发生了什么?我觉得这是一个普遍的问题。

4

2 回答 2

27
PopupWindow.setWindowLayoutMode(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

注意: setWindowLayoutMode 已被弃用。使用 setHeight 和 setWidth。

于 2013-06-03T08:32:13.297 回答
11

由于尺寸未初始化,PopupWindow 的宽度和高度可能为 0,这可以解释为什么您什么都看不到。setHeight您可以使用and设置高度和宽度setWidth,或者使用构造函数进行设置PopupWindow(View contentView, int width, int height)

查看 Android参考以获取更多信息。

于 2011-07-20T23:39:34.620 回答