PopupView没有显示?

时间:2011-03-31 18:47:55

标签: android popupwindow

这是XML(只是一个webview):

<?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不会显示。我一直在梳理网络,但找不到任何修复。我做错了什么?

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

2 个答案:

答案 0 :(得分:27)

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

注意:不推荐使用setWindowLayoutMode。使用setHeight和setWidth。

答案 1 :(得分:11)

由于尺寸未初始化,PopupWindow的宽度和高度可能为0,这可以解释为什么你看不到任何东西。您可以使用setHeightsetWidth设置高度和宽度,也可以使用构造函数PopupWindow(View contentView, int width, int height)进行设置。

检查Android reference以获取更多信息。