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

简介: 最近客户提出,视频画面显示时黑屏体验不好,要求显示背景图。等视频画面来了再显示。 这个问题是怎么引起的?就在于安卓的View,设置了背景之后,就无法再显示视频画面(实际上肯定有绘制视频画面,UI流程上使得背景图一直显示)。

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

 这个问题是怎么引起的?就在于安卓的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();
        }
    });
}
目录
相关文章
|
2月前
|
Ubuntu 网络协议 Java
【Android平板编程】远程Ubuntu服务器code-server编程写代码
【Android平板编程】远程Ubuntu服务器code-server编程写代码
|
4月前
|
人工智能 IDE 开发工具
Studio Bot - 让 AI 帮我写 Android 代码
Studio Bot - 让 AI 帮我写 Android 代码
169 1
|
1天前
|
Ubuntu Android开发 数据安全/隐私保护
【Android平板编程】远程Ubuntu服务器Code-Server编程写代码
【Android平板编程】远程Ubuntu服务器Code-Server编程写代码
|
2天前
|
Java Android开发
Android 长按桌面显示菜单的代码
Android 长按桌面显示菜单的代码
7 0
|
2天前
|
Java Android开发
Android 切换壁纸代码流程追踪
Android 切换壁纸代码流程追踪
10 0
|
2天前
|
Shell Android开发
Android Activity重写dump方法实现通过adb调试代码
Android Activity重写dump方法实现通过adb调试代码
10 0
|
2天前
|
Java API Android开发
Android系统升级A/B分区OTA升级应用层调用UpdateEngine代码
Android系统升级A/B分区OTA升级应用层调用UpdateEngine代码
7 0
|
2月前
|
Android开发
android studio 重新将module中的代码加入到自己项目中,报错找不到SO文件。
android studio 重新将module中的代码加入到自己项目中,报错找不到SO文件。
9 1
|
3月前
|
Ubuntu 网络协议 Linux
【Linux】Android平板上远程连接Ubuntu服务器code-server进行代码开发
【Linux】Android平板上远程连接Ubuntu服务器code-server进行代码开发
64 0
|
4月前
|
安全 算法 JavaScript
安卓逆向 -- 关键代码定位与分析技术
安卓逆向 -- 关键代码定位与分析技术
50 0