1樓:匿名使用者
謝謝,你說的有道理,不過這兩個方法在大於等於14時依然不管用,低版本倒是可以
2樓:匿名使用者
view的invalidate未必一定會出發ondraw,如果高版本沒有出發ondraw,可能是做了相關的優化,認為你此次的invalidate並不需要出發ondraw,或者是其他的邏輯。如果你想在搞版本也出發試試以下方法方法1:((view)view.
getparnet()).invalidate();方法2:view.
invalidate();view.forcelayout();view.requestlayout();
3樓:
看了一下,我是在主執行緒中使用view呼叫invalidate的,就是跟sdk版本號有關,這篇帖子貌似沒有涉及到android
sdk的版本
4樓:匿名使用者
因為4.0以後有硬體加速了吧
5樓:匿名使用者
多謝提醒,禁用硬體加速,果然可以了
6樓:出家人詞悲
方法1:
((view)view.getparnet()).invalidate();
方法2:
view.invalidate();view.forcelayout();view.requestlayout();
android invalidate()呼叫ondraw()引起重繪。這段**為何無法執行?
7樓:匿名使用者
問題在於invalidate函式根本沒被呼叫
你在if語句中呼叫此方法,註定其最多隻能被呼叫一次,且是在滿足條件的情況下。
ondraw函式,沒有用invalidate來觸發就被呼叫了,實現了繪圖功能,怎麼回事啊!
8樓:匿名使用者
很多情況ondraw都要呼叫的,剛進入程式時是要呼叫的,改變程式視窗大小時也要呼叫,還有其它情況,你可以設定一個bool變數,在按鈕響應函式中設為true,ondraw中此變數為true是才畫,用個if語句
開機後為什么總有管理員登陸視窗,開機後為什麼總有管理員登陸視窗
一 最簡單的方法 控制面板 使用者帳戶 點選 更改使用者登陸或登出方式 選中 使用歡迎螢幕 確定即可 二 可以通過修改登錄檔來實現xp的自動登入。第1步 執行登錄檔編輯器,依次 hkey local machine software microsoft windows nt currentversi...
微軟模擬火車進入遊戲後為什麼沒有列車執行
因為你沒有安裝路線和任務。還要設定的。那是你沒設定好。開車時,先打反向器 w向前,s向後 再解剎 最後加速 d 電力機車則先確定是否升弓 p 1 進行遊戲。esc 暫停 顯示選單 f2 快速儲存遊戲。shift z 畫面速率 fps 在顯示屏右下角 print screen 在遊戲截圖。2 開車及停...
電影80後為什麼叫這個名字,電影80後為什麼叫這個名字
北極熊 由年輕女導演李芳芳執導,劉冬 黃明等主演的青春愛情片 80 後 於2010年6月25日在中國正式上映。電影以獨特的視角,展示了80後對青春 愛情 親情的理解和獨特展現方式。這是一個關於愛和遺失的故事,以及人們如何面對這樣的事實 沒有任何東西是永恆的。簡介片中男女主角經歷了長達十五年的愛恨糾纏...