Android 7.0 PopupWindow彈出位置的適配問題
近期需求是需要在頁面標題欄中title的下方彈出PopupWindow進而做一些操作,當寫完之後發現在7.0- 手機上彈出的位置是正確的但是執行在7.0系統的手機上時出現了彈出位置將穿進去的控制元件給覆蓋了起來(這是就是7.0popupWindow位置的適配)查了許多資料進行了改正,大家有什麼好的方法歡迎大家評論留言,希望此文對大家有所幫助。。。
可以直接在設定位置的地方::
if (Build.VERSION.SDK_INT < 24) { popWindow.showAsDropDown(parent,0,60); } else { int[] a = new int[2];parent.getLocationInWindow(a); popWindow.showAtLocation(getWindow().getDecorView(), Gravity.NO_GRAVITY, 0, parent.getHeight()+a[1]+60); popWindow.update(); }
注意::popupWindow。update();一定要呼叫(我就是因為沒有呼叫此方法導致我白白浪費半個小時的時間)。。。
方法很簡單,但是對於沒有處理過的童鞋可能有些難度(因為我比較渣)親測有效(華為Mate 9,小米5等均沒問題)。