看板 AndroidDev 關於我們 聯絡資訊
問題: 我想請問各位大大,我在Layout的地方宣告一個Button, 但我在.java檔裡面把Button宣告成TextView型別, 使得Button變得像TextView一樣可以Click, 但問題來了,我想要把那個TextView作得點一下會變色,過0.x秒就變回原色, 例如 : 原本TextView是藍色,點下去的時候變深藍色,過0.x秒再變回藍色, public void onClick(View v) // 點擊 Do Re Mi Fa 的 Button 所回應的程式碼 { switch (v.getId()) { case R.id.upleft: UpLeftButton.setBackgroundColor(0x99f0f000); break; case R.id.upright: UpRightButton.setBackgroundColor(0x9900f000); break; case R.id.downleft: DownLeftButton.setBackgroundColor(0x990000f0); break; case R.id.downright: DownRightButton.setBackgroundColor(0x99f00000); break; } try { Thread.sleep(1000); } catch (Excption e) { Log.i("Error", e.toString()); } SetBackground(); // 設定回原來的顏色 } 我有試著這樣寫過,但會wait 1秒,可是顏色卻不會變深再變回來, 想請教大大們該怎麼做才可以達到我想要的那種效果呢? 程式碼: (請多利用置底文網站) http://pastebin.com/J1uUryM0 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.52.201
afz096:試著把 變顏色的部份 寫成 handler 或是用 AsyncTask 解決 03/14 16:29
pokk:我使用thread+handler已經達到了,但又出現一個問題,就是在 03/14 20:52
pokk:跑for的時候,一次的迴圈使其中一個background 亮->暗->亮, 03/14 20:53
pokk:第二個迴圈使另一個background 亮->暗->亮 這用thread達不到 03/14 20:53