看板 AndroidDev 關於我們 聯絡資訊
想請教各位前輩, 最近練習一個程式 動作大概是按下某個按鈕後會隨機取得圖片位置 然後切換圖片並做旋轉. 我本來是用ImageView直接旋轉, 但發現圖片會依照外框的大小 在旋轉的時後改變自己的大小, 後來有前輩建議用 Animation 我找到了 RotateAnimation (起始角度, 要旋轉的角度, X做標, Y做標) 因為我的圖片都是半圓例如 200 x 100, 但要讓他做圓的旋轉, 我就在設定完圖片 setImageResource 取 X做標 = width/2, Y做標 = height 做正中心的旋轉, 但在此時, 我發現有時候 我取到的圖片尺寸是 0 x 0, 有時後會取到正確的尺寸, 我就在想是不是因為圖片還沒有載入, 我就取大小了, 所以會取到0, 0 我取圖片大小的方法是參考網路上說的 設定 inJustDecodeBounds = true; 然後把他寫成一個 imginfo 類別, 想請教有前輩遇過這個狀況嗎? 以上是一個問題, 另一個問題是, 我想說如果我把這段寫在onDraw裡面 去取圖片大小, 會不會比較正確, 所以想請教前輩, onDraw這個方法 會在甚麼時機被呼叫, 查到的資料好像都是在正要變更畫面的時後(變更前), 但都沒有看到過一個正確的流程圖, 所以想請教前輩, onDraw 是畫面正要變更前, 還是畫面已經完成變更會被調用, 謝謝前輩. 忘記貼上code, 補上code:http://pastebin.com/8knzhRZR -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.30.23.161 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1416277667.A.071.html ※ 編輯: AlphaCall (61.30.23.161), 11/18/2014 13:25:23
tac0wu: 不太清楚你的寬高是啥 如果是view的 在onSizeChanged做 11/18 22:49
tac0wu: onDraw 就是正在畫 如果硬體加速開啟的話你就是在產生 11/18 22:49
tac0wu: displayList 11/18 22:49
baobomb: 取得View 的 size 的時機 是在他被完整描繪在Parent view 11/19 21:25
baobomb: 之後 才有辦法取得 除非你自己重寫ViewGroup 從onMeasure 11/19 21:26
baobomb: 取得計算出來的Size 11/19 21:26
baobomb: 才有辦法在還沒有被描繪出來前就取得計算完畢的寬高 11/19 21:27