您当前的位置: 首页 >  动画

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

安卓显示视频画面的动画效果及代码

柳鲲鹏 发布时间:2018-07-02 18:44:08 ,浏览量:0

  最近客户提出,视频画面显示时黑屏体验不好,要求显示背景图。等视频画面来了再显示。

  这个问题是怎么引起的?就在于安卓的View,设置了背景之后,就无法再显示视频画面(实际上肯定有绘制视频画面,UI流程上使得背景图一直显示)。

  怎么办?

  先设置背景。  

  监听画面到达。

  到达之后,去掉背景。

  功能是实现了,体验不好。一个是多少总有黑屏,另外一个是画面太突然,体验差。

 

  怎么办?上动画吧。

  在前景加一个View,设置背景,挡住视频画面。

  等画面到达,开始动画,由不透明到全透明的渐变。

  效果很好。

 

  代码:

 

public void startAlphaAnimation()
{
    mRoomBgView.setVisibility(View.VISIBLE);
    //由不透明到全透明。
    final AlphaAnimation alphaAnimation = new AlphaAnimation(1.0F, 0.0F);
    //设置动画持续时长
    alphaAnimation.setDuration(1000);
    //true,动画结束后,保持动画结束时的最终状态
    alphaAnimation.setFillAfter(true);
    //true,动画结束后,保持动画开始时的状态
    alphaAnimation.setFillBefore(false);
    //设置动画播放次数,如果只播放一次,设置为0
    alphaAnimation.setRepeatCount(0);
    //开始动画
    mRoomBgView.startAnimation(alphaAnimation);

    //设置一个,结束时一般要做点事情。
    alphaAnimation.setAnimationListener(new Animation.AnimationListener()
    {
        @Override
        public void onAnimationStart(Animation animation)
        {
        }

        @Override
        public void onAnimationRepeat(Animation animation)
        {
        }

        @Override
        public void onAnimationEnd(Animation animation)
        {
            mRoomBgView.setVisibility(View.GONE);
            mRoomBgView.clearAnimation();
            alphaAnimation.cancel();
        }
    });
}

 

关注
打赏
1665724893
查看更多评论
立即登录/注册

微信扫码登录

0.0504s