这是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不会显示。我一直在梳理网络,但找不到任何修复。我做错了什么?
编辑:没人知道发生了什么事?我觉得这是一个常见的问题。
答案 0 :(得分:27)
PopupWindow.setWindowLayoutMode(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
注意:不推荐使用setWindowLayoutMode。使用setHeight和setWidth。
答案 1 :(得分:11)
由于尺寸未初始化,PopupWindow的宽度和高度可能为0,这可以解释为什么你看不到任何东西。您可以使用setHeight
和setWidth
设置高度和宽度,也可以使用构造函数PopupWindow(View contentView, int width, int height)
进行设置。
检查Android reference以获取更多信息。