app引导页面播放视频,videoview设置全屏.倒数秒数进入主页面
来源:互联网 发布:c编程题及答案 编辑:程序博客网 时间:2024/05/07 02:54
一、概述
最近老大新加了个需求。让我把启动页面改了播放视频,这样看起来更加酷炫点。我就大概写了个。记录下实现思路。首先,上结果图:
二、基本思路
1.实现视频播放,且视频播放作为背景,视频要全屏。
2.布局实现倒数数字和手动跳转按钮。
至于其他权限之类就不用说了。
下面贴代码:
package com.maxence.videostart;import android.app.ActionBar;import android.content.pm.ActivityInfo;import android.net.Uri;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.os.Handler;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.VideoView;import static android.R.attr.start;import static android.R.attr.x;public class MainActivity extends AppCompatActivity implements View.OnClickListener { private MyVideoView vv_video; private TextView tv_view; // private String VideoUrl="http://minisite.adsame.com/nodie/v2.mp4"; // private String VideoUrl="http://183.59.160.61:30001/PLTV/88888905/224/3221227505/index.m3u8"; private String VideoUrl="http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8"; private Button btn_next; private int startTime=10; // private String VideoUrl="http://gslb.miaopai.com/stream/oxX3t3Vm5XPHKUeTS-zbXA__.mp4"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); setContentView(R.layout.activity_video); getSupportActionBar().hide(); initView(); initData(); } private void initData() { vv_video.setVideoURI(Uri.parse(VideoUrl)); vv_video.start(); tv_view.setText(startTime + ""); new Thread() { @Override public void run() { while (startTime>0) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } startTime--; mHandler.sendEmptyMessage(0); } } }.start(); } private void initView() { vv_video = (MyVideoView) findViewById(R.id.vv_video); tv_view = (TextView) findViewById(R.id.tv_view_time); btn_next = (Button) findViewById(R.id.btn_next); btn_next.setOnClickListener(this); } Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 0: tv_view.setText(startTime+""); if(startTime==0){ MainActivity.this.setContentView(R.layout.activity_main); } break; } } }; @Override public void onClick(View view) { switch (view.getId()){ case R.id.btn_next: setContentView(R.layout.activity_main); break; } }}这里自己重写了下VideoView.原生的videoview无论怎么设置参数,都不能全屏的,重写很简单,就是在onmeasure里面修改下就行。
package com.maxence.videostart;import android.content.Context;import android.util.AttributeSet;import android.widget.VideoView;/** * Created by 27535 on 2017/11/29. */public class MyVideoView extends VideoView { public MyVideoView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public MyVideoView(Context context, AttributeSet attrs) { this(context, attrs,0); } public MyVideoView(Context context) { this(context,null); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension(widthMeasureSpec,heightMeasureSpec); }}下面是xml的布局代码:
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.maxence.videostart.MainActivity"> <com.maxence.videostart.MyVideoView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/vv_video" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_alignParentBottom="true" /> <TextView android:layout_width="80dp" android:layout_height="50dp" android:background="#000000" android:textColor="@android:color/white" android:textSize="20sp" android:gravity="center" android:layout_marginRight="5dp" android:layout_marginTop="5dp" android:layout_gravity="right" android:id="@+id/tv_view_time" /> <Button android:layout_width="272dp" android:layout_height="50dp" android:text="跳过" android:id="@+id/btn_next" android:gravity="center" android:layout_gravity="bottom|center" android:layout_marginBottom="30dp" /></FrameLayout>
GitHub下载地址。
基本搞定。有疑问欢迎留言
阅读全文
0 0
- app引导页面播放视频,videoview设置全屏.倒数秒数进入主页面
- Android之ViewPager实现引导页(第一次打开App进入引导页,第二次直接进入APP主页面)
- android利用VideoView实现视频全屏播放
- VideoView播放视频全屏的方法
- Android 播放视频(四)VideoView全屏视频播放
- 播放视频全屏设置
- SharedPreference的使用 第一次进入APP时,进入导航页面,再次进入时直接进入主页面 去除ActionBar
- videoview全屏播放
- VideoView-全屏播放
- videoview全屏播放
- app进入主页前的广告页面
- android VideoView播放工程raw下的视频+全屏问题
- VideoView实现半屏全屏视频播放,自定义MediaView
- VideoView 实现引导页播放视频欢迎效果
- Android引导页播放视频——使用VideoView
- 引导页添加小圆点以及滑动进入主页面
- 闪屏页,持续三秒自动进入主页面
- iOS UIWebView 全屏播放视频横屏 app其他页面不支持横屏
- Linux系统配置mysql允许被远程访问
- Python学习笔记--线程锁
- Nginx+tomcat配置https后出现400 Bad Request问题
- nodejs模块(1)
- <s:iterator>标签遍历动态数组<泛型>:ArrayList<对象>,怎样批量修改数据并一起提交到后台
- app引导页面播放视频,videoview设置全屏.倒数秒数进入主页面
- java.net.ConnectException异常处理
- 有趣的机器学习:最简明入门指南
- 感悟
- qt共享内存方法限制执行一次。
- Mysql主从同步
- android最全的图表(折线柱形等)
- Spring Boot 入门 (一)——建一个最简单的springboot项目
- DecisionTree笔记