转载请注明:
http://blog.csdn.net/zenmela2011/article/details/42495263
控件闪烁,其实就是控制控件的透明度,从可见到逐渐不可见,再逐渐到可见,一直反复。因此,要想实现控件闪烁,只需要使用android中的alpha动画即可。
开启闪烁,代码如下:
/**
* 开启View闪烁效果
*
* */
private void startFlick( View view ){
if( null == view ){
return;
}
Animation alphaAnimation = new AlphaAnimation( 1, 0.4f );
alphaAnimation.setDuration( 300 );
alphaAnimation.setInterpolator( new LinearInterpolator( ) );
alphaAnimation.setRepeatCount( Animation.INFINITE );
alphaAnimation.setRepeatMode( Animation.REVERSE );
view.startAnimation( alphaAnimation );
}
从代码中可以看出,首先新建一个AlphaAnimation,透明度从完全可见到0.4可见。setDuration设置动画持续的时间未0.3毫秒。
LinearInterpolator表示动画以均匀的速率改变。
alphaAnimation.setRepeatCount(Animation.INFINITE); 表示重复多次。 也可以设定具体重复的次数,比alphaAnimation1.setRepeatCount(5);
alphaAnimation.setRepeatMode(Animation.REVERSE);表示动画结束后,反过来再执行。 该方法有两种值, RESTART 和 REVERSE。 RESTART表示从头开始,REVERSE表示从末尾倒播。这里用REVERSE在从0.4透明度逐渐变成完全不透明。
取消闪烁可以用clearAnimation来实现。代码如下:
/**
* 取消View闪烁效果
*
* */
private void stopFlick( View view ){
if( null == view ){
return;
}
view.clearAnimation( );
}