[Android] PopupWindow 設置 gravity 無效的問題

前言 今天在寫公司專案的時候遇到部分 Android 7 的手機,PopupWindow 不會理會設置好的 gravity,會直接跑到頂部。 原因 在 Android Code Search 追了一下原始碼,發現 Android 7 在執行 PopupWindow.update() 的時候,會將 gravity 重設,因此造成 gravity 被重置為 Gravity.START | Gravity.TOP。 有興趣的話可以自己看一下 Google 後來修復的 commit 解法 剛好出問題的那段程式看起來沒有必要使用 update(),因此拿掉後問題就修復了。當然如果你一定需要使用 update() 的話,可以參考這篇 SlackOverflow,裡面有各種大神給的解法,這邊就不贅述囉!

October 13, 2020 · 1 min · 姚韋辰(Andy Yao)

[Android] Error:Fragment already added

遇到狀況 java.lang.IllegalStateException: Fragment already added ...

December 19, 2017 · 1 min · 姚韋辰(Andy Yao)