次のエントリ: PreferenceScreenに依存設定(dependency)を行ってチェックオフ時は操作不可 [Android]
PopupWindow#showAtLocation()が表示されない?
2011-07-13-1 / カテゴリ: [Android] / [permlink]
newした後、showAsDropDown()だけなら表示されるのに、showAtLocation()だけ叩いても表示されなかった。
いろいろ試してみると setWindowLayoutMode() が必要なのがわかった。
こんな感じ
ちなみにdismiss()せずにActivityを閉じると例外(?)が発生するので注意
いろいろ試してみると setWindowLayoutMode() が必要なのがわかった。
こんな感じ
mPopup = new PopupWindow(this); mPopup.setWindowLayoutMode(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); mPopup.setFocusable(true); // これがないとタッチとかできない // 必要に応じて mPopup.setWidth(WindowManager.LayoutParams.WRAP_CONTENT); mPopup.setHeight(WindowManager.LayoutParams.WRAP_CONTENT); // ポップアップで表示するビューの設定 mPopup.setContentView(view); if (mPopup.isShowing()) { // 開いてたら閉じる mPopup.dismiss(); mPopup = null; } else { // 開いてなければ表示 mPopup.showAtLocation(base, Gravity.NO_GRAVITY, x, y); }
ちなみにdismiss()せずにActivityを閉じると例外(?)が発生するので注意
ERROR/WindowManager(13219): Activity (パッケージ名).(クラス名) has leaked window android.widget.PopupWindow$PopupViewContainer@40533870 that was originally added here ERROR/WindowManager(13219): android.view.WindowLeaked: Activity (パッケージ名).(クラス名) has leaked window android.widget.PopupWindow$PopupViewContainer@40533870 that was originally added here :
次のエントリ: PreferenceScreenに依存設定(dependency)を行ってチェックオフ時は操作不可 [Android]
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2013-05-02 16:12