PopupWindow無法在畫面上出現

前言

最近在做輸入法時,為了要在鍵盤上,

跳出一個自定義的候選字視窗,

打算用PopupWindow來做呈現,

結果我怎麼show,畫面上就是沒有我的PopupWindow。

原因

我建立一個Custom Class,然後繼承PopupWindow以後,

我發現,我所使用的建構子,是只有丟一個參數Context的而已,

所以預設會建立出一個長寬都是0的PopupWindow。

/**
 * <p>Create a new empty, non focusable popup window of dimension (0,0).</p>
 *
 * <p>The popup does provide a background.</p>
 */
public PopupWindow(Context context) {
 this(context, null);
}
解決方法一

因此,就需要記得去設定setHeight(…) and setWidth(…),

才能改變這件事情。

解決方法二

當然,PopupWindow也有提供其他的建構子,

讓開發者一開始就去設定長與寬,

其實用那種方式,就不需要再另外去setHeight(…) and setWidth(…)了。

參考資料
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.