11

レイアウト上にImageButtonビューがあります。ユーザーがImageButtonをクリックすると、ボタンがフェードアウトします。

ボタンのフェードアウトアニメーションは次のように開始されます。

public void buttonClicked(View aButton){

    final Animation aAnim = new AlphaAnimation(1.0f, 0.0f);
    aAnim.setDuration(500);

    aButton.startAnimation(aAnim);

}

これは機能しますが、ImageButtonがフェードアウトするとすぐに、そのAlpha Valueが1.0に戻り、ボタンが再び表示されます。

アニメーションの最後にButtonImageを非表示に設定するアニメーションリスナーを使用して一時的に解決しましたが、それは私には奇妙な解決策のようです。

ボタンのアルファ値をアニメーションの最後の値に保つにはどうすればよいですか?

ありがとうございました。

4

3 に答える 3

27

使ってみてくださいaAnim.setFillAfter(true);

于 2012-05-25T14:31:53.653 に答える
3

アニメーションの終了時に新しい値を設定する場合は、「setFillAfter」をtrueに設定する必要があります。

public void buttonClicked(View aButton){    
    final Animation aAnim = new AlphaAnimation(1.0f, 0.0f);
    aAnim.setDuration(500);

    aAnim.setFillAfter(true);
    aButton.startAnimation(aAnim);
}
于 2012-12-02T07:09:36.223 に答える
0
于 2019-05-13T14:11:06.780 に答える