博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
仿易信引导页面
阅读量:6935 次
发布时间:2019-06-27

本文共 1636 字,大约阅读时间需要 5 分钟。

目前的引导页面大多数就是ViewPager,不过已经有很多app的引导页面变为动画+viewpager,第一次见到,感觉很新颖,用户体验会瞬间提升一阶。那么问题来了,这样的引导页面怎么做的呢?

曾经一度用易信,有一次更新版本后发现易信的引导页面就是这种情况,感觉很新颖。昨天下载了虾米音乐,用的也是这样的,但跟这个有区别。

首先看效果图:

图片描述

刚开始见到以为后面是动态图片做背景。后来解压了app,发现里面是一段mp4。那么这样就好写了

思路:布局为视频+viewpager

布局文件:

这里的视频布局用的是VedioView(重写过的)。其他布局就是viewpager,button的了,比较简单。

布局写好了,问题就简单了,直接加载视频就好了。

视频的加载

mVideoView = (CustomizeVideoView) findViewById(R.id.video_view);mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.media));//获取视频mVideoView.start();//开始播放mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {            @Override            public void onCompletion(MediaPlayer mediaPlayer) {                mVideoView.start();            }        });    }

ViewPager的添加

无限轮播viewpager正好之前我已经写过了。相信很多人也都会写。有问题的可以参考我之前写的《》和 《ViewPager的自动轮播》(谢谢支持)。

Button处理

那么问题来了,视频是不是一直在播放呢,这样毫无疑问肯定会很耗内存的。所以这里还有控制视频的停止播放。即在处理Button事件的时候添加视频停止播放并释放内存即可

mVideoView.stopPlayback();//视频停止播放并释放内存

我再Demo里写的视频的暂停和继续播放,因为易信的没有这个,自己只是练习。在真正写代码的时候我认为是不添加暂停和继续播放更符合要求的。

  • 视频暂停:

mVideoView.pause();currentPosition = mVideoView.getCurrentPosition();//暂停后获取当前播放的位置Toast.makeText(MainActivity.this, "暂停播放",    Toast.LENGTH_SHORT).show();
  • 视频继续:

mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.media));//获取视频资源 mVideoView.seekTo(currentPosition);//将视频移动到暂停时的播放位置 mVideoView.start();//开始播放 Toast.makeText(MainActivity.this, "继续播放", Toast.LENGTH_SHORT).show();

这里附上我写的Demo

希望当帮助到各位同学,欢迎互相学习互相交流!

转载地址:http://qrvjl.baihongyu.com/

你可能感兴趣的文章
Hive概述
查看>>
LeetCode 6. ZigZag Conversion
查看>>
Android之listview运用(美团美食列表)
查看>>
论语中心思想
查看>>
iPhone地图 实战iPhone GPS定位系统
查看>>
冲刺8
查看>>
Linux的vi常用命令详解
查看>>
java_jdbc_3层 解耦
查看>>
svn的常用命令
查看>>
Leetcode | Recover Binary Search Tree
查看>>
02-CSS基础与进阶-day7_2018-09-07-20-25-28
查看>>
maven springMVC SSM框架中 出现的406 (Not Acceptable)
查看>>
123123
查看>>
微信支付v2开发(5) 订单查询
查看>>
深入path类
查看>>
final----这篇文章是我收获很大
查看>>
iOS 堆栈符号解析最佳实践
查看>>
Java集合源码分析(一)
查看>>
1027. Colors in Mars (20)
查看>>
1013. 数素数 (20)
查看>>