上次有說到如何在不會onCreate的時候翻轉畫面,但是按鈕的大小卻不會隨著改變,但翻轉後的大小需要重新偵測,按鈕才能按比例縮放,所以我們可以先用onConfigurationChanged
來偵測螢幕目前的方向是直向還橫向,偵測完後再去做後續的動作。
偵測翻轉後,去依視窗大小給予每個按鈕新的大小,很直覺的就會這樣寫,但實際執行時,卻會發生像這埸的事情。
遊戲畫面:直向轉橫向
遊戲畫面:橫向轉直向
翻轉後我們會發現,按鈕不是照目前的視窗大小去調整大小,看起來像是依照翻轉前的視窗大小來調整的,為什麼會這樣呢?
如果用debug去慢慢看就會發現,在翻轉的過程中,在螢幕翻轉成橫向的大小前,他會有段時間還是直向的,然後在這個時候他會就先去生成按鈕了,生成完後才完全翻轉整個畫面,所以可是因為這樣才會每次按鈕都是依前一個視窗的大小來調整。
下次我們會來調整這件事(這件事也苦惱了我很久呢,也可能是我才疏學淺XD請各位多包涵)