作者pokk (璐珐)
看板AndroidDev
标题[问题] 按一下Button变色的问题
时间Mon Mar 14 15:20:42 2011
问题:
我想请问各位大大,我在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
1F:→ afz096:试着把 变颜色的部份 写成 handler 或是用 AsyncTask 解决 03/14 16:29
2F:→ pokk:我使用thread+handler已经达到了,但又出现一个问题,就是在 03/14 20:52
3F:→ pokk:跑for的时候,一次的回圈使其中一个background 亮->暗->亮, 03/14 20:53
4F:→ pokk:第二个回圈使另一个background 亮->暗->亮 这用thread达不到 03/14 20:53