4

プログレスバーをフェードで消したいのですが。よく知られているSuperSUのような他のアプリケーションでこれをすでに見ました。

しかし、私はそれを行う方法がわかりません。

編集:これが私がしたことです:

AlphaAnimation fadeOut = new AlphaAnimation(1.0f, 0.0f);
fadeOut.setDuration(500);
fadeOut.setFillAfter(true);
progressBar.startAnimation(fadeOut);
progressBar.setVisibility(ProgressBar.GONE);

listview.setAdapter(new MyAdapter(getApplicationContext(), listGroups, listChildren));

listview.setVisibility(ListView.VISIBLE);
AlphaAnimation fadeIn = new AlphaAnimation(0.0f, 1.0f);
fadeIn.setDuration(500);
fadeIn.setFillAfter(true);
listview.startAnimation(fadeIn);

別のインテントを開始してから戻ると、時々(これはかなり奇妙で、ランダムに見えます)、進行状況バーがリストビューの上にあり、フリーズします(アニメーション化されていません)。

誰も私を助けることができませんか?:(私はこれを試しました:

@Override
protected void onResume() {
    super.onResume();

    if(listview.getVisibility() == ListView.VISIBLE)
        progressBar.setVisibility(ProgressBar.GONE);
}

それは機能しませんでした、私はまだリストビューの真ん中でプログレスバーをフリーズさせました...

4

2 に答える 2

8
AlphaAnimation fadeOutAnimation = new AlphaAnimation(1.0f, 0.0f);//fade from 1 to 0 alpha
fadeOutAnimation.setDuration(1000);
fadeOutAnimation.setFillAfter(true)//to keep it at 0 when animation ends
myProgressBar.startAnimation(fadeOutAnimation);
于 2012-09-09T22:17:24.833 に答える
4

プログレスバーはViewで、ビューはAnimationsを使用できます。AlphaAnimationを探しています

フェード アニメーションを作成して開始するには:

AlphaAnimation fadeOut;
fadeOut = new AlphaAnimation(1,0); //fade out animation from 1 (fully visible) to 0 (transparent)
fadeOut.setDuration(1000); //set duration in mill seconds
fadeOut.setFillAfter(true);
progresBar.startAnimation(fadeOut);
于 2012-09-09T22:21:58.727 に答える