我想完成一些我认为很简单但结果很麻烦的事情。
我有一个带有图片的加载屏幕,我希望它在应用程序加载时淡入淡出。我决定通过经常改变它相对于计数器正弦值的不透明度来实现这一点。我的代码如下:
ImageView loadingRaven; //loading raven at the start of the app
Timer timer; //timer that we're gonna have to use
int elapsed = 0; //elapsed time so far
/*
* the following is in the onCreate() method after the ContentView has been set
*/
loadingRaven = (ImageView)findViewById(R.id.imageView1);
//fade the raven in and out
TimerTask task = new TimerTask()
{
public void run()
{
elapsed++;
//this line causes the app to fail
loadingRaven.setAlpha((float)(Math.sin(elapsed)+1)/2);
}
};
timer = new Timer();
timer.scheduleAtFixedRate(task, 0, 50);
导致我的程序失败的问题是什么?我是否正确使用了 Timer 和 TimerTask?或者是否有更好的方法来频繁更新图像的不透明度,以便顺利进出?
谢谢