Android超酷的加载效果

用过qq的人都知道qq刚打看是一个视频,看着比较酷,也比较神秘,今天抽时间看了下,其实也没有什么神秘的,就是一个播放视频

准备资料

下载一个视频,不要太大

代码编写

在项目资源目录 res 下新建资源文件夹 raw
放入刚下载的视频文件
自定义一个VedioView 因为你系统的VedioView 不管怎么怎么设置宽度和高度,视频播放的时候都无法全屏,所以还是自己计算宽高

LoadingVedio自定义视频播放控件

package com.loading.project.view;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.VideoView;
/*** Created by marven on 2017/11/23.* 自定义VideoView**/
public class LoadingVedio extends VideoView{public LoadingVedio(Context context) {super(context);}public LoadingVedio(Context context, AttributeSet attrs) {super(context, attrs);}public LoadingVedio(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {int width = getDefaultSize(0,widthMeasureSpec);int height = getDefaultSize(0,heightMeasureSpec);setMeasuredDimension(width,height);}
}

MainActivity

package com.loading.project;import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;import com.loading.project.view.LoadingVedio;public class MainActivity extends AppCompatActivity {private LoadingVedio mVideoView;private Button mButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();startVedio();addListener();}/*** 初始化控件*/private void initView() {mVideoView = (LoadingVedio) findViewById(R.id.mVideoView);mButton = (Button) findViewById(R.id.mButton);}/*** 播放*/private void startVedio() {//设置播放加载路径mVideoView.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.guide_1));//播放mVideoView.start();}/****/private void addListener() {//播放完成之后显示立即体验按钮mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {@Overridepublic void onCompletion(MediaPlayer mediaPlayer) {mButton.setVisibility(View.VISIBLE);}});mButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this,"立即体验",Toast.LENGTH_LONG).show();}});}
}

activity_main

package com.loading.project;import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;import com.loading.project.view.LoadingVedio;public class MainActivity extends AppCompatActivity {private LoadingVedio mVideoView;private Button mButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();startVedio();addListener();}/*** 初始化控件*/private void initView() {mVideoView = (LoadingVedio) findViewById(R.id.mVideoView);mButton = (Button) findViewById(R.id.mButton);}/*** 播放*/private void startVedio() {//设置播放加载路径mVideoView.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.guide_1));//播放mVideoView.start();}/****/private void addListener() {//播放完成之后显示立即体验按钮mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {@Overridepublic void onCompletion(MediaPlayer mediaPlayer) {mButton.setVisibility(View.VISIBLE);}});mButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this,"立即体验",Toast.LENGTH_LONG).show();}});}
}

代码比较简单,不喜勿喷
demo下载

Android超酷的加载效果相关推荐

  1. android 加载更多动画效果,Android实践之带加载效果的下拉刷新上拉加载更多

    前言 之前写的一个LoadingBar,这次把LoadingBar加到下拉刷新的头部.从头写一个下拉刷新,附赠上拉加载更多.下面话不多说了,来一起看看详细的介绍吧. 效果图: 实现过程 首先是自定义属 ...

  2. Android开发:高仿QQ,发送图片时炫酷的加载效果

    之前看到qq 的图片发送效果很酷炫,很吸引人,不过现在这个效果好像没有了.试了几次,决定试试实现.大致想了下,实现效果还不错 需要实现的效果 一图胜千言,看图如下: 怎样实现呢? 首先从图中看分两部分 ...

  3. Android实现骨架屏占位加载效果(二)

    这篇的内容是介绍Piccolo的思路以及主要实现过程. 实现思路 要实现骨架屏占位加载,要解决以下几个问题: 实现占位效果 标记显示位置 对列表的支持 实现占位效果 为了便于自定义占位效果,以及更低的 ...

  4. android 百分比loading,牛逼的loading加载效果

    牛逼的loading加载效果 介绍: AnimatedCircleLoadingView一个不错的loading加载效果,自定义AnimatedCircleLoadingView设置startDete ...

  5. android 自定义progressdialog,android自定义ProgressDialog加载效果

    用来记录自己所用到的知识 前两天在做项目的时候发现有时候在访问网络数据的时候由于后台要做的工作较多,给我们返回数据的时间较长,所以老大叫我加了一个加载中的logo图用来提高用户体验. 于是就在网上找了 ...

  6. android 仿快递步骤_Android实现仿美团、顺丰快递数据加载效果

    我们都知道在Android中,常见的动画模式有两种:一种是帧动画(Frame Animation),一种是补间动画(Tween Animation).帧动画是提供了一种逐帧播放图片的动画方式,播放事先 ...

  7. android listview左右滑动动画效果,Android基于ListView实现类似QQ空间的滚动翻页与滚动加载效果...

    本文实例讲述了Android基于ListView实现类似QQ空间的滚动翻页与滚动加载效果.分享给大家供大家参考,具体如下: 1. 滚动加载 listView.setOnScrollListener(n ...

  8. android仿微博头像_Android 自定义 View 集锦|自定义圆形旋转进度条,仿微博头像加载效果...

    微博 App 的用户头像有一个圆形旋转进度条的加载效果,看上去效果非常不错,如图所示: 据说 Instagram 也采用了这种效果.最近抽空研究了一下,最后实现的效果是这样: 基本上能模拟出个大概,代 ...

  9. android progressdialog 背景色,怎么在android中利用ProgressDialog实现一个加载效果

    怎么在android中利用ProgressDialog实现一个加载效果 发布时间:2020-12-07 17:00:07 来源:亿速云 阅读:77 作者:Leah 怎么在android中利用Progr ...

  10. android dialog 自定义布局,Android自定义Dialog实现加载对话框效果

    前言 最近开发中用到许多对话框,之前都是在外面的代码中创建AlertDialog并设置自定义布局实现常见的对话框,诸如更新提示等含有取消和删除两个按钮的对话框我们可以通过代码创建一个AlertDial ...

最新文章

  1. Nature子刊:用16S及18S rRNA全长进行微生物多样性研究
  2. Django 中 cookie的使用
  3. pytorch处理多维输入的问题
  4. 200个化工网站批量爬取
  5. 亚马逊美国买家账号注册流程
  6. 总结:form中使用onSubmit=return false防止表单自动提交,以及s...
  7. 超详细的CMD文件讲解(DSP28035)
  8. 三十功名尘与土,八千里路云和月
  9. 禁用 Word 2013/2016 信息检索
  10. SpringMVC使用Jedis发布后提示java.lang.ClassNotFoundException: redis.clients.jedis.Jedis问题
  11. JavaScript数组常用方法解析和深层次js数组扁平化
  12. 网页模板UI素材推荐 精品 小众
  13. java.util.Date的getYear()
  14. 《指数基金投资指南》读书笔记---行业指数基金
  15. 如何将视频里的音乐提取出来
  16. DELL G3 3590 Ubuntu16.04(14.04) 网卡驱动 RTL8111/8168/8411
  17. XDOJ例题及答案第八更 密码编译 密码强度 排序2 排序3 排序算法比较器 判断奇偶性 平均数 气温波动 亲和数 求交错序列前N项和 求平均值求奇数的和
  18. 渐变矩形c语言代码,C#绘制渐变矩形代码
  19. 关于Windows应用商店中安装Ubuntu问题——请启动适用于Linux的Windows子系统功能
  20. JSR296 为 annotation processing 安装 Eclipse : m2e-apt 插件

热门文章

  1. 软件工程实验--测试用例的设计
  2. 集成学习笔记3--偏差与方差理论
  3. (7)微信UI自动化-自动发送消息给指定联系人(C#)(.Net)
  4. 第二十天学Python:标准库(4)sys和time、可执行文件
  5. 【兔子王赠书第5期】ChatGPT速学通:文案写作+PPT制作+数据分析+知识学习与变现
  6. 当Office PIA遭遇C# 4.0
  7. 斐波那契数列python实现写法
  8. mysql去除 t_mysql中去除两条一摸一样的数据
  9. 第十一周(11.24-12.01)----final评论II
  10. 数字化转型,你懂多少? ( 十四)