2

すべてのビューにアルファを設定しAlphaAnimation(1.0F, 0.15F); 、もう一度クリックしてアルファをリセットしたい場合は、以下のコードを使用します。

button.setOnClickListener(new View.OnClickListener() {         
    @Override
    public void onClick(View v) {
        if(fadeinout) {

            expControl.startAnimation(set1);
            seekZoom.startAnimation(set1);
            btnrotate.startAnimation(set1);

            fadeinout=false;

        } else {

            expControl.startAnimation(set);
            seekZoom.startAnimation(set);
            btnrotate.startAnimation(set);
            fadeinout=true;

        }

    }
});

そして私のアニメーション set1 と set2 は下にあります

private Animation FadeIn(int t)
{
    AlphaAnimation localAlpha = new AlphaAnimation(1.0F, 0.15F);
    localAlpha.setDuration(800L);
    localAlpha.setStartOffset(100L);
    localAlpha.setFillAfter(false);
    localAlpha.setInterpolator(new AccelerateInterpolator());

    return localAlpha;
}

private Animation FadeOut(int t)
{
    Animation fade;
    fade = new AlphaAnimation(0.15F, 1.0F);
    fade.setDuration(800L);
    localAlpha.setFillAfter(false);
    fade.setInterpolator(new AccelerateInterpolator());
    return fade;
}

しかし、アニメーションが終了したら、ビューをリセットしてアルファを塗りつぶします。ボタンのクリックでアルファのみを変更したい

で動作しませんsetalpha()。SDK 8 以降のアプリを作成したい。

ありがとう。

4

1 に答える 1

1
// add this line
localAlpha.setFillEnabled(true);
// modify other line like this
localAlpha.setFillAfter(true);
于 2013-05-10T15:41:31.460 に答える