试图闪现我的一个Android应用程序的背景颜色

时间:2011-06-11 17:45:33

标签: android background

我正在尝试让我的应用程序介于两种背景颜色之间,然后返回到原始背景颜色,这是我尝试认为它会改变背景然后暂停四分之一秒并更改颜色的代码再次。有没有办法做到这一点。我对编程很新,我仍在学习这是我认为可行的,但我愿意接受任何建议。

Bg.setBackgroundColor(getResources().getColor(R.color.C1));
try{Thread.sleep(250);}
catch(InterruptedException e){}
Bg.setBackgroundColor(getResources().getColor(R.color.C2));
try{Thread.sleep(250);}
catch(InterruptedException e){}
Bg.setBackgroundColor(getResources().getColor(R.color.C1));
try{Thread.sleep(250);}
catch(InterruptedException e){}
Bg.setBackgroundColor(getResources().getColor(R.color.C2));
try{Thread.sleep(250);}
catch(InterruptedException e){}
Bg.setBackgroundColor(getResources().getColor(BG[C-1]));

2 个答案:

答案 0 :(得分:0)

设置纯色背景(无论你想要什么,例如可绘制),并使用动画来实现它。您可以使用您希望的任何参数来打开和关闭它,包括速度,淡入淡出,重复计数等等...所有在res / anim .xml文件中以声明方式定义。

关于android动画的教程超出了我想写的范围,但只是google for it。有几乎所有你想要的例子。

你可以在这里找到与动画相关的android API演示, http://developer.android.com/resources/samples/ApiDemos/res/anim/index.html

答案 1 :(得分:0)

如果你必须使用这种方法,那么我建议在与UI线程不同的线程中执行此操作,因为我认为这将使UI线程睡眠250毫秒,因此它将没有响应。我甚至不允许这样做,并且UI线程可能会抛出异常。

那就是说,如果你不打算在IntereuptedException的catch子句中做任何事情而不是为什么不使用SystemClock.sleep

最后,我建议忘记这种方法并改为使用动画,请检查Animation Resources