溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PopupWindow整理

發(fā)布時間:2020-07-18 12:54:10 來源:網絡 閱讀:861 作者:FlyTMSky 欄目:移動開發(fā)

1.簡單使用

使用步驟:

①.創(chuàng)建PopupWindow對象

②.調用popupWindow.showAsDropDown(View v)|popupWindow.showAsLocation(),控制顯示位置

③.點擊popupwindow以外區(qū)域 popupwindow自動消失

方法一重寫onTouchEvent(這種方法可以處理popupwindows dimiss的時候一些其他的操作,比如讓其他控件的隱藏,消失等):

代碼如下:

//focusable要為false(不設置默認的就是False);

popupWindow.setFocusable(false);
//OnTouchEvent代表的是Activity 獲得事件(即為PopupWindow之外)

@Override

public boolean onTouchEvent(MotionEvent event) {

// TODO Auto-generated method stub

if (popupWindow != null && popupWindow.isShowing()) {

popupWindow.dismiss();

popupWindow = null;

}

return super.onTouchEvent(event);

}

方法二:設置popupWindow參數(shù)(這種方法只能讓自身消失,不能夠提供其他伴隨操作,比如讓其他控件的隱藏,消失等)

  // 使其聚焦 
                                mPopupWindow.setFocusable(true); 
                                // 設置允許在外點擊消失 
                                mPopupWindow.setOutsideTouchable(true); 
                                //刷新狀態(tài)  
                                mPopupWindow.update(); 
                            
                                //back鍵和其他地方使其消失,設置了這個才能觸發(fā)OnDismisslistener ,設置其他控件                 變化等操作
                                mPopupWindow.setBackgroundDrawable(new BitmapDrawable());

 

2.setAnimationStyle來設置popwindow顯示消失的動畫效果

Ps:個人感覺和大多數(shù)控件設置動畫類似,比如Imageview

實現(xiàn)步驟:

①.在res/values/style.xml中添加

android:windowEnterAnimation表示進入窗口動畫
android:windowExitAnimation表示窗口退出動畫

②.在res/anim文件夾下聲明所需進入動畫

③.在java代碼中設置動畫

popupWindow.setAnimationStyle(R.style.PopupAnimation);

3.Activity充當PopupWindow

 

 

 

 

 

參考資料:

http://www.cnblogs.com/joey-home/archive/2012/07/02/2573855.html

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/0303/956.html

http://www.cnblogs.com/winxiang/archive/2012/11/20/2778729.html?

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0702/1627.html

 

附:

1.關鍵方法

①.顯示PopupWindow:

showAsDropDown(View anchor):相對某個控件的位置(正左下方),無偏移

showAsDropDown(View anchor, int xoff, int yoff):相對某個控件的位置,有偏移

showAtLocation(View parent, int gravity, int x, int y):相對于父控件的位置,可設置偏移或無偏移

 

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI