Android UI設計--PopupWindow顯示位置設置


當點擊某個按鈕並彈出PopupWindow時,PopupWindow左下角默認與按鈕對齊,但是如果PopupWindow是下圖的那樣,會發生錯位的情況,尤其是不同尺寸的平板上,那錯位錯的不是一般的不靠譜,而Android本身只提供了如下幾個方法設置PopupWindow顯示位置

  • showAsDropDown(View anchor, int xoff, int yoff) 以anchor的左下角為參照點,定義偏移
  • showAsDropDown(android.view.View) 以anchor的左下角為參照點,不偏移
  • showAtLocation(View parent, int gravity, int x, int y) 以parent為主容器,gravity為對齊參照點,定義偏移

推薦用showAsDropDwon方法。

這里是為了讓PopupWindow居中顯示,所以需要自己定義橫向位移偏移量(其他位置類似)

int xoff = window.getWidth()/2-parent.getWidth()/2;

window.update();
window.showAsDropDown(parent, -xoff, 0);

效果圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM