视频 之自定义VideoView
package com.lvshandian.partylive.view; import android.content.Context;
import android.util.AttributeSet;
import android.widget.VideoView; /**
* Created by zhang on 2016/11/24.
*/ public class FullScreenVideoView extends VideoView {
private int videoWidth;
private int videoHeight; public FullScreenVideoView(Context context) {
super(context);
} public FullScreenVideoView(Context context, AttributeSet attrs) {
super(context, attrs);
} public FullScreenVideoView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
} @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int width = getDefaultSize(videoWidth, widthMeasureSpec);
int height = getDefaultSize(videoHeight, heightMeasureSpec);
if (videoWidth > 0 && videoHeight > 0) {
if (videoWidth * height > width * videoHeight) {
height = width * videoHeight / videoWidth;
} else if (videoWidth * height < width * videoHeight) {
width = height * videoWidth / videoHeight;
}
}
setMeasuredDimension(width, height);
} public int getVideoWidth() {
return videoWidth;
} public void setVideoWidth(int videoWidth) {
this.videoWidth = videoWidth;
} public int getVideoHeight() {
return videoHeight;
} public void setVideoHeight(int videoHeight) {
this.videoHeight = videoHeight;
} }
视频 之自定义VideoView的更多相关文章
- android之视频播放系统VideoView和自定义VideoView控件的应用
Android播放视频,包含系统自带VideoView控件,和自定义VideoView控件,可全屏播放,案例包含了本地视频和网络视频. 1:自定义VideoView控件 2:布局代码 3:Activi ...
- 视频控件VideoView的简单使用
一.在布局文件中放置VideoView控件 二.在Activity中获取到该控件后,通过给该控件设置视频控制器(setMediaController(new MediaController(this) ...
- iOS-保存照片或者视频到自定义相薄中以及读取数据
声明:本文为本人原创作品~转载请注明出处~谢谢配合! 让TableView支持横屏的代码如下: //支持横屏 myTableView.autoresizingMask = UIViewAutoresi ...
- 跟我学SharePoint 2013视频培训课程——自定义网站导航(4)
课程简介 第4天,自定义SharePoint 网站导航 视频 SharePoint 2013 交流群 41032413
- HTML5视频(自定义视频播放器源码)
video对象 兼容情况: safari浏览器不支持webm格式 Chrome浏览器支持webm格式 ie8以及以下不支持video标签 , ie9支持video标签 ,但是支持mp4格式的 Fire ...
- vue视频: 自定义指令 && 拖拽 && 自定义键盘信息
v-textv-forv-html 指令: 扩展html语法 自定义指令:1. 自定义属性指令: Vue.directive(指令名称,function(参数){ this.el -> 原生DO ...
- video视频标签自定义显示隐藏播放控件&Shadow DOM
方法一:controlslist属性 controlslist="nodownload nofullscreen noremoteplayback" controlslist仅三种 ...
- 使用VideoView自定义一个播放器控件
介绍 最近要使用播放器做一个简单的视频播放功能,开始学习VideoView,在横竖屏切换的时候碰到了点麻烦,不过在查阅资料后总算是解决了.在写VideoView播放视频时候定义控制的代码全写在Actv ...
- Android VideoView播放网络视频简介(转)
最近项目中用到了很多视频播放的地方,不管是聊天发送的视频消息,还是类似内涵段子的视频列表,都会涉及这些知识,不过网上的知识都很零散,一会找缓存方法,一会找预览图片的方法,一会找视频动态修改尺寸的方法, ...
随机推荐
- 织梦5.7 TAG、标题、栏目以及keywords长度字符数限制修改
织梦5.7 TAG.标题.栏目以及keywords长度字符数限制修改[图文] 标签: 织梦关键词长度修改 织梦tag长度修改 织梦标题长度修改 织梦栏目长度限制修改 织梦修改 分类: 技术操作 ...
- JSCH实现文件上传的代码实例
package com.vcredit.ddcash.monitor.sendmail; import java.io.File;import java.io.FileInputStream;impo ...
- 过河问题nyoj47
时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边.如果不借助手电筒的话,大家是无论如何也不敢过桥去的.不幸的是 ...
- Python中的属性管理
Python管 理属性的方法一般有三种:操作符重载(即,__getattr__.__setattr__.__delattr__和 __getattribute__,有点类似于C++中的重载操作符).p ...
- poj2115-C Looooops(扩展欧几里德算法)
本题和poj1061青蛙问题同属一类,都运用到扩展欧几里德算法,可以参考poj1061,解题思路步骤基本都一样.一,题意: 对于for(i=A ; i!=B ;i+=C)循环语句,问在k位存储系统中循 ...
- LaTex 插入图片
\usepackage{mathrsfs} \usepackage{amsmath} \usepackage{graphicx} 宏包 \includegraphics{graph01.eps} %插 ...
- LeetCode | Single Number II【转】
题目:Given an array of integers, every element appears three times except for one. Find that single on ...
- NEC学习 ---- 布局 -两列定宽
这个布局相对来说比较容易, 就是最外层的容器中包含两个子容器, 一个容器向右浮动, 另一个向左浮动, 两个容器的宽度+2个容器之间的距离等于外层容易的中宽度. html代码: <div clas ...
- C#编程利器之三:接口(Interface)【转】
C#编程利器之三:接口(Interface) C#接口是一个让很多初学者容易迷糊的东西,用起来好象很简单,定义接口,然后在里面定义方法,通过继承与他的子类来完成具体的实现.但没有真正认识接口的作用的时 ...
- 浏览器同步测试神器 — BrowserSync
Browsersync 能让浏览器实时.快速响应文件更改(html.js.css.sass.less等)并自动刷新页面.更重要的是 Browsersync可以同时在PC.平板.手机等设备下进项调试,当 ...