在做项目的时候,很多组件都是动态显示和隐藏的,如果直接将其设置为显示或者隐藏又不太人性化,给视图加上渐隐和渐现效果是一个不错的做法,这样在用户操作时会感觉很舒服,实现动画效果既可以通过在代码中加载预先定义的xml文件,又可以在代码里面动态实现,我更倾向于通过代码实现,因为xml里面的参数设置是固定的,不够灵活。
代码其实很简单,通过AlphaAnimation实现,关于它的介绍,网上一搜一大片,就不多介绍啦,直接看代码吧。
private AlphaAnimation mHideAnimation = null;
private AlphaAnimation mShowAnimation = null;
/**
* View渐隐动画效果
*/
private void setHideAnimation( View view, int duration ){
if( null == view || duration < 0 ){
return;
}
if( null != mHideAnimation ){
mHideAnimation.cancel( );
}
mHideAnimation = new AlphaAnimation(1.0f, 0.0f);
mHideAnimation.setDuration( duration );
mHideAnimation.setFillAfter( true );
view.startAnimation( mHideAnimation );
}
/**
* View渐现动画效果
*/
private void setShowAnimation( View view, int duration ){
if( null == view || duration < 0 ){
return;
}