AlphaAnimation类是Android系统中的透明度变化动画类,用于控制View对象的透明度变化,该类继承于Animation类。 AlphaAnimation类中的很多方法都与Animation类一致,该类中最常用的方法便是AlphaAnimation构造方法。
【基本语法】public AlphaAnimation (float fromAlpha, float toAlpha)
参数说明
fromAlpha:开始时刻的透明度,取值范围0~1。
toAlpha:结束时刻的透明度,取值范围0~1。
【实例演示】下面通过代码来演示如何设置一个简单的渐变透明度动画效果。
public class firstActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) { //重载onCreate方法
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ImageView image=(ImageView)findViewById(R.id.imageView1); //ImageView对象
Button btn1=(Button)findViewById(R.id.button1); //按钮对象
Button btn2=(Button)findViewById(R.id.button2);
final Animation alphaAnimation=new AlphaAnimation(0.1f,1.0f); //设置透明度动画效果
btn1.setOnClickListener(new View.OnClickListener() { //设置监听器
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
alphaAnimation.setDuration(30000); //设置持续时间
image.setAnimation(alphaAnimation); //设置动画
alphaAnimation.startNow(); //启动动画
}
});
btn2.setOnClickListener(new View.OnClickListener() { //设置监听器
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
scaleAnimation.cancel(); //取消动画执行
}
});
}
}
在这段代码中,首先通过AlphaAnimation构造方法创建了一个透明度变化的动画对象。然后,在第一个按钮监听器中设置了动画的持 续时间,之后启动该动画。在第二个按钮监听器中取消该动画。读者运行这段代码,将看到图片的透明度由浅入深逐渐变化,如图9.11所示。最后,图片变为完 全不透明的时候停止,如图9.12所示。
图9.11 透明度渐变动画 |
图9.12 图片原始透明度 |