2011-10-29 34 views
1

我有一個視圖在android中,我需要按順序突出顯示和取消選中某個控件時按下按鈕。這是一個可用性功能 - 每個按鈕突出顯示時,都會向用戶朗讀。我使用AlphaAnimation類來完成突出顯示。然而,現在有多少無效調用或回調線程放入,只有最後一個動畫實際呈現給用戶。其他人仍然被調用,但被最後一個動畫覆蓋,所以只顯示一個。我也試着簡單地設置按鈕的不透明度/ alpha屬性,但所有這些修改最終都是一次批量執行的。我需要這些動畫按順序進行。在控制流返回之前,我還沒有找到更新主視圖的好方法(即在它調用的方法返回之前多次更新它)。有沒有人有任何想法?多個按鈕動畫按順序 - 只有最後一個顯示

+0

你的代碼在哪裏? – blessenm

+0

我嘗試了太多的方法來發布代碼,它似乎沒有代碼的問題,只是android使用/理解。我終於弄明白了,並在下面發佈瞭解決方案。 –

回答

2

對於遇到此問題的其他人,我終於找到了解決方案。

的文檔: http://developer.android.com/reference/android/os/AsyncTask.html http://www.anddev.org/tut_updating_ui_from_a_thread-t11125.html

我的解決辦法:創建的AsyncTask,取入按鈕的陣列。在其doInBackground方法中,它會突出顯示/變暗,然後在按鈕高亮顯示方案的每次迭代過程中將受影響按鈕的更新推送到onProgressUpdate方法。 onProgressUpdate方法在傳入的所有按鈕上調用invalidate()。爲便於訪問高亮功能,我創建了一個靜態高亮(buttons ...)方法,該方法創建AsyncTask的新實例並調用其上的執行。

相關問題