簡単だと思うことを達成したいのですが、面倒であることがわかりました。
画像付きのロード画面があり、アプリケーションのロード中にフェードインおよびフェードアウトしたいと考えています。カウンターのサイン値に対して不透明度を頻繁に変更することで、これを達成することにしました。私のコードは次のとおりです。
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 を正しく使用していますか? または、画像の不透明度を頻繁に更新してスムーズにイーズインおよびイーズアウトするためのより良い方法はありますか?
ありがとう