Android超酷的加载效果
来源:互联网 发布:男士护肤 知乎 编辑:程序博客网 时间:2024/05/16 16:13
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); } @Override protected 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; @Override protected 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() { @Override public void onCompletion(MediaPlayer mediaPlayer) { mButton.setVisibility(View.VISIBLE); } }); mButton.setOnClickListener(new View.OnClickListener() { @Override public 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; @Override protected 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() { @Override public void onCompletion(MediaPlayer mediaPlayer) { mButton.setVisibility(View.VISIBLE); } }); mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this,"立即体验",Toast.LENGTH_LONG).show(); } }); }}
代码比较简单,不喜勿喷
demo下载
阅读全文
0 0
- Android超酷的加载效果
- 超酷的CSS3网页加载效果
- 超酷的图像效果
- 超酷的图像效果
- 超酷的图像效果
- android超炫的动画效果
- 如何使用SVG生成超酷的页面预加载素描动画效果
- android加载 ,超超超大的图片,而且不压缩。
- 超酷的JS时间效果--收集
- apple的产品展示效果,超酷!
- web超酷的图片效果
- 超酷的JavaScript 图像液态效果
- 超酷的图像效果 GDI+
- 超酷的图片轮换效果
- android 超强大的图片选择器,支持超大图加载
- android 仿淘宝的加载刷新效果
- android 动态加载数据的滚动效果
- android--实现textView的渲染加载效果
- C++ 严格弱序
- Spring的事务管理
- 正向代理、反向代理
- FCN语义分割——直接加载图像数据
- ios-GCD信号量
- Android超酷的加载效果
- Win10系统如何在右键菜单添加"管理员取得所有权
- OPENMV结合PIX飞控实现定点 循迹
- 进程简述
- python反射
- Class文件中的常量池详解(上)
- Django的基本操作流程总结
- java反射
- 猜数字游戏,水仙花数