在Android中修复Alpha

时间:2012-02-10 09:18:01

标签: android animation alpha


在代码下解决。


我为Android播放动画创建了一个简单的应用程序,有alpha,traslate和rotate。

这是一个有三个按钮的视图(每个动画一个)。当我点击它时,它会启动动画并显示一个红色按钮,而不是取消它。

我的问题是,当我取消alha动画并启动其他时,这个显示透明度就像我关闭它时的alpha动画。

我使用了setalpha和更多代码来控制它,但我永远无法控制它。

非常感谢。

课程代码

    public void onClick(View v) {
    close = (Button) findViewById(R.id.close);
    image = (ImageView) findViewById(R.id.View);
    image.setEnabled(true);

    switch (v.getId()) {

        case R.id.Alpha:
            animation = AnimationUtils.loadAnimation(this, R.anim.alpha);
            close.setVisibility(View.VISIBLE);
            close.setOnClickListener(this);
            close.setEnabled(true);
            break;

        case R.id.Rotate:
            animation = AnimationUtils.loadAnimation(this, R.anim.rotate);
            close.setVisibility(View.VISIBLE);
            close.setOnClickListener(this);
            close.setEnabled(true);
            break;

        case R.id.Traslate:
            animation = AnimationUtils.loadAnimation(this, R.anim.traslate);
            close.setVisibility(View.VISIBLE);
            close.setOnClickListener(this);
            close.setEnabled(true);
            break;

        case R.id.Close:    
            close.setVisibility(View.INVISIBLE);
            close.setEnabled(false);
            image.setEnabled(false);
            image.clearAnimation();
            break;
    }

    if (close.isEnabled()) {
        animation.reset();  
        image.setOnClickListener(this);
        image.clearAnimation();
        image.startAnimation(animation);
    }
}
}

alpha xml代码

<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">

<alpha
    android:fromAlpha="0.0"
    android:toAlpha="1.0"
    android:duration="3000"/>

<alpha
    android:startOffset="5000"
    android:fromAlpha="1.0"
    android:toAlpha="0.0"
    android:duration="3000"/>

</set>

旋转代码xml

<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">

<rotate
    android:fromDegrees="90"
    android:toDegrees="0"
    android:pivotX="-5%"
    android:pivotY="5%p"
    android:duration="3000" />

<rotate
    android:fromDegrees="0"
    android:toDegrees="90"
    android:pivotX="5%"
    android:pivotY="-5%p"
    android:duration="3000"
    android:startOffset="5000" />

</set>

这不是我的预期,但我已经修复了它,它会启动一个新的alpha动画,持续时间为1,从alpha 0到1。

0 个答案:

没有答案