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的更多相关文章

  1. android之视频播放系统VideoView和自定义VideoView控件的应用

    Android播放视频,包含系统自带VideoView控件,和自定义VideoView控件,可全屏播放,案例包含了本地视频和网络视频. 1:自定义VideoView控件 2:布局代码 3:Activi ...

  2. 视频控件VideoView的简单使用

    一.在布局文件中放置VideoView控件 二.在Activity中获取到该控件后,通过给该控件设置视频控制器(setMediaController(new MediaController(this) ...

  3. iOS-保存照片或者视频到自定义相薄中以及读取数据

    声明:本文为本人原创作品~转载请注明出处~谢谢配合! 让TableView支持横屏的代码如下: //支持横屏 myTableView.autoresizingMask = UIViewAutoresi ...

  4. 跟我学SharePoint 2013视频培训课程——自定义网站导航(4)

    课程简介 第4天,自定义SharePoint 网站导航 视频 SharePoint 2013 交流群 41032413

  5. HTML5视频(自定义视频播放器源码)

    video对象 兼容情况: safari浏览器不支持webm格式 Chrome浏览器支持webm格式 ie8以及以下不支持video标签 , ie9支持video标签 ,但是支持mp4格式的 Fire ...

  6. vue视频: 自定义指令 && 拖拽 && 自定义键盘信息

    v-textv-forv-html 指令: 扩展html语法 自定义指令:1. 自定义属性指令: Vue.directive(指令名称,function(参数){ this.el -> 原生DO ...

  7. video视频标签自定义显示隐藏播放控件&Shadow DOM

    方法一:controlslist属性 controlslist="nodownload nofullscreen noremoteplayback" controlslist仅三种 ...

  8. 使用VideoView自定义一个播放器控件

    介绍 最近要使用播放器做一个简单的视频播放功能,开始学习VideoView,在横竖屏切换的时候碰到了点麻烦,不过在查阅资料后总算是解决了.在写VideoView播放视频时候定义控制的代码全写在Actv ...

  9. Android VideoView播放网络视频简介(转)

    最近项目中用到了很多视频播放的地方,不管是聊天发送的视频消息,还是类似内涵段子的视频列表,都会涉及这些知识,不过网上的知识都很零散,一会找缓存方法,一会找预览图片的方法,一会找视频动态修改尺寸的方法, ...

随机推荐

  1. 【转】C#(ASP.Net)获取当前路径的方法集合

    转自:http://www.gaobo.info/read.php/660.htm //获取当前进程的完整路径,包含文件名(进程名). string str = this.GetType().Asse ...

  2. SignalR in a WebSite Project

    Question(http://stackoverflow.com/questions/19924678/signalr-in-a-website-project)  I have a test we ...

  3. 初步了解JSONP

    一.JSON 与 JSONP JSON是一种基于文本的数据交换方式(数据描述格式),JSONP是一种非官方跨域数据交互协议. ajax的核心是通过XmlHttpRequest获取非本页内容,而json ...

  4. Markdown资源 markd

    markdown是将某些格式的文本,翻译成HTML的一个库,非常精妙! https://www.npmjs.com/package/markedhttps://github.com/adam-p/ma ...

  5. android如何获取到启动类的包和类路径

    ArrayList<String> list = new ArrayList<String>(); private List<ResolveInfo> mApps; ...

  6. Oracle的Connect By理解

    connect by中的条件就表示了父子之间的连接关系 比如 connect by id=prior pid,但如果connect by中的条件没有表示记录之间的父子关系那会出现什么情况? 常见的,c ...

  7. IEnumerable和IEnumerator

    概述 IEnumerable和IEnumerator接口存在的意义:用来实现迭代的功能! public interface IEnumerable { IEnumerator GetEnumerato ...

  8. Android (二维码)关于java.lang.UnsatisfiedLinkError的小案例

    在许多项目中我们都会用到第三方动态库.so文件,但是往往会引来很多烦恼,比如:Java.lang.UnsatisfiedLinkError - ::-/com.ishow.scan E/Android ...

  9. ubuntu14.04安装注意事项

    1.虚拟机: 选择桥接2.设置静态IP sudo vi /etc/network/interfaces 修改为: # The loopback network interface auto lo if ...

  10. 11月30日《奥威Power-BI智能分析报表制作方法》腾讯课堂开课啦

    这么快一周就过去了,奥威公开课又要与大家见面咯,上节课老师教的三种报表集成方法你们都掌握了吗?大家都知道,学习的结果在于实际应用,想要熟练掌握新内容的要点就在于去应用它.正是基于这一要点,每一期的课程 ...