QQ群:372135639
View渐隐动画效果
/**
* View渐隐动画效果
*/
public void setHideAnimation( View view, int duration)
{
if (null == view || duration < 0)
{
return;
}
if (null != mHideAnimation)
{
();
}
// 监听动画结束的操作
mHideAnimation = new AlphaAnimation(1.0f, 0.0f);
(duration);
(true);
(mHideAnimation);
}
View渐现动画效果
/**
* View渐现动画效果
*/
public void setShowAnimation( View view, int duration)
{
if (null == view || duration < 0)
{
return;
}
if (null != mShowAnimation)
{
();
}
mShowAnimation = new AlphaAnimation(0.0f, 1.0f);
(duration);
(true);
(mShowAnimation);
}
最好在监听动画开始与结束, 对于showView, 是先调用()设置为可见, 然后才调用()
对于hideView, 是先调用 (),最后在onAnimationEnd事件中调用();设置为不可见
监听处理:View渐隐动画效果
/**
* View渐隐动画效果
*/
public void setHideAnimation( final View view, int duration)
{
if (null == view || duration < 0)
{
return;
}
if (null != mHideAnimation)
{
();
}
// 监听动画结束的操作
mHideAnimation = new AlphaAnimation(1.0f, 0.0f);
(duration);
(true);
(new AnimationListener()
{
@Override
public void onAnimationStart(Animation arg0)
{
}
@Override
public void onAnimationRepeat(Animation arg0)
{
}
@Override
public void onAnimationEnd(Animation arg0)
{
();
}
});
(mHideAnimation);
}
监听处理:View渐现动画效果
/**
* View渐现动画效果
*/
public void setShowAnimation( final View view, int duration)
{
if (null == view || duration < 0)
{
return;
}
if (null != mShowAnimation)
{
();
}
mShowAnimation = new AlphaAnimation(0.0f, 1.0f);
(duration);
(true);
(new AnimationListener()
{
@Override
public void onAnimationStart(Animation arg0)
{
();
}
@Override
public void onAnimationRepeat(Animation arg0)
{
}
@Override
public void onAnimationEnd(Animation arg0)
{
}
});
(mShowAnimation);
}
需要注意: 我发现再设置View控件渐隐,且Gone(完全不可见),这两个属性后。 当点击控件位置的时候,依旧会出发该View的点击事件。 但是单独设置View Gone的时候,点击View,就不会有反应。 这让我很费解。 正好项目里面,对于这个View的点击要进行处理, 所以我在给View设置 Gone的时候,会再次设置Clickable为false。
有个小Demo,不明白可以操作跑一下。
/detail/u010949451/9732112