首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何保持我的Android VideoView的高宽比只与它的高度成比例?

要保持Android VideoView的高宽比只与其高度成比例,可以通过以下步骤实现:

  1. 在布局文件中,将VideoView的宽度设置为match_parent(或具体数值),高度设置为wrap_content。
代码语言:txt
复制
<VideoView
    android:id="@+id/videoView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
  1. 在代码中,动态计算VideoView的宽度,并设置给VideoView。
代码语言:txt
复制
VideoView videoView = findViewById(R.id.videoView);
int videoHeight = 720; // 视频的实际高度
int screenHeight = getResources().getDisplayMetrics().heightPixels; // 屏幕高度
int videoWidth = videoHeight * screenHeight / videoView.getMeasuredHeight();
videoView.getHolder().setFixedSize(videoWidth, videoHeight);

以上代码中,videoHeight表示视频的实际高度,可以根据实际情况进行修改。screenHeight表示当前设备屏幕的高度,通过getResources().getDisplayMetrics().heightPixels获取。根据高宽比例计算出视频的实际宽度videoWidth,然后将宽高设置给VideoView的Holder。

这样设置后,无论VideoView的高度如何变化,宽度都会根据高宽比例自动进行调整,保持高宽比不变。

推荐的腾讯云相关产品:云点播(https://cloud.tencent.com/product/vod)用于存储和处理视频文件,提供丰富的视频处理功能和播放能力,适用于各种视频场景。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

全民K歌折叠屏适配探索

故折叠屏适配的主要目的:在应用运行时无论屏幕素质(尺寸、密度、比例、方向、装载 )如何变化,应用总能以相对合理的方式给用户展示数据信息,且保证稳定运行。 ?...对于宽比高短的视频来说: 在首页(容器高宽固定)情况下,展开时视频高度填满,宽度居中对齐;视频高度填满,宽度按比例溢出。...,全民K歌的视频播放区域并非是一成不变的固化高度,而是根据当前的屏幕的可容纳范围+视频的比例合理分配的一个高度给予视频显示。...首先我们需要确保:resizeableActivity=false,并设置好对应的支持比例范围: 8.0 以下版本: <meta-data    android:name="android.max_aspect...一个应用在不合适的比例设备上以内嵌且保持极端比例模式展示。 当然,该模式下会引发界面的重建行为,也就是切换比例时会出现白屏、黑屏情况。

2.5K30

Android开发笔记(一百二十五)自定义视频播放器

getBufferPercentage : 获得已缓冲的比例。返回值在0到1之间。...MediaController VideoView看起来只有光秃秃的视频画面,要想让用户与它进行交互,还得通过MediaController来中转控制操作。...2、在代码中动态添加VideoView。 VideoView对象的使用步骤同上。...和MediaController的播放效果来看,这个简单播放器存在若干不足,包括: 1、控制条分上下两行,上面是控制按钮,下面是进度条,高度太宽了; 2、按钮样式无法定制,且不能增加和删除按钮;...好在我们的需求只是更改控制条的样式,没有增加复杂的功能,增添几个指定风格的控件想必大家都很熟练了,唯一的难点在于如何跟VideoVie对象同步当前的播放进度。

2.8K40
  • padding实现图片等比例自适应

    元素总能保持比例不变。...但是,如果我们的图片不是通栏,而是需要离左右各1rem的距离,此时,我们的CSS代码就要啰嗦点了,想要保持完美比例,就使用借助CSS3 calc()计算: .banner { height: calc...对于复杂布局,如果图片的宽度是不固定的自适应的,我们通常会想到这么一个取巧的做法,就是只设定图片的宽度,例如: img { width: 100%; } 此时浏览器默认会保持图片比例显示,图片宽度大了,...缩小浏览器宽度可以看到不同宽度下的布局效果,Gif效果截图如下: 此demo难点就是图片自适应同时保持比例,以及页面刷新的时候没有布局稳固不晃动,其核心HTML和CSS代码如下: 高度按比例的场景,padding-bottom的百分比值大小就是图片元素的高宽比,就这么简单。

    2.8K10

    Android全面屏适配指南

    比如三星的Galaxy S8屏幕分辨率是:2960×1440,对应的屏幕比例为:18.5:9。VIVO X20手机屏幕分辨率是2160x1080,对应的屏幕比例:18:9。...对于这种奇葩的屏幕比例,APP开发者该如何去优化自己的应用,才能在这些手机上显示的更加完美呢?...下面,从以下两个方面来探究APP完美适配全面屏手机的方法: 更大的屏幕高宽比例 虚拟导航键(NavigationBar) 屏幕高宽比例 由于全面屏手机的高宽比比之前大,如果不适配的话,Android默认为最大的宽高比是...中针对Activity标签添加android:resizeableActivity = “true”,但是此设置只针对Activity生效,且增加了此属性该activity也会支持分屏显示。...那么,对于开发者来说,怎么知道是否开启了虚拟导航键呢,又如何进行适配呢?

    2.1K30

    Android弹幕功能实现,模仿斗鱼直播的弹幕效果

    记得之前有位朋友在我的公众号里问过我,像直播的那种弹幕功能该如何实现?如今直播行业确实是非常火爆啊,大大小小的公司都要涉足一下直播的领域,用斗鱼的话来讲,现在就是千播之战。...而弹幕则无疑是直播功能当中最为重要的一个功能之一,那么今天,我就带着大家一起来实现一个简单的Android端弹幕效果。 分析 首先我们来看一下斗鱼上的弹幕效果,如下图所示: ?...这是一个Dota2游戏直播的界面,我们可以看到,在游戏界面的上方有很多的弹幕,看直播的观众们就是在这里进行讨论的。 那么这样的一个界面该如何实现呢?...这里使用到了SD卡的功能,但是为了代码简单起见,我并没有加入运行时权限的处理,因此一定要记得将你的项目的targetSdkVersion指定成23以下。...这里我们并没有什么特殊的要求,因此一切都保持默认。 另外我们还需要创建一个弹幕的解析器才行,这里直接创建了一个全局的BaseDanmakuParser。

    4.3K90

    骚年你的屏幕适配方式该升级了!-今日头条适配方案

    一样,高以高为基准,宽以宽为基准,同时进行适配呢 这就引出了一个现在比较棘手的问题,大部分市面上的 Android 设备的屏幕高宽比都不一致,特别是现在大量全面屏的问世,这个问题更加严重,不同厂商推出的全面屏手机的屏幕高宽比都可能不一致...这时我们只以高或宽其中的一个作为基准进行适配,就会有效的避免布局在高宽比不一致的屏幕上出现变形的问题 明白这个后,我再来说说 density,density 在每个设备上都是固定的,DPI / 160...,这个 View 与屏幕宽度的比例在分辨率不同的设备上是否还能保持和设计图中的比例一致 验证设备 1 屏幕总宽度为 1080 px,根据今日头条的的公式求出 density,1080 / 375 = 2.88...px 为单位的宽度和高度,这样我们在布局文件中,也就能直接填写设计图上标注的 px 值,省掉了将 px 换算为 dp 的时间 (大部分公司的设计图都只标注 px 值),而且照样能完美适配 但是我建议大家千万不要这样做...,第一篇详细的讲 今日头条屏幕适配方案,第二篇详细的讲 smallestWidth 限定符适配方案,第三篇详细讲两个方案的深入对比以及如何选择,并发布我根据 今日头条屏幕适配方案 优化的屏幕适配框架 AndroidAutoSize

    75310

    Android 自定义最大宽度,高度, 宽高比例 Layout

    ml_ratio_standard 指定比例的模式,即是宽高比还是高宽比 w_h,宽高比, h_w 高宽比 ml_ratio 比例值 只有比例模式是 w_h 或者 h_w,该值才会生效 指定最大宽度...比如,我们要指定高度是宽度的某个比例的时候,如,高度是宽度的两倍,可以这样写 <com.xj.maxlayout.MaxLayout android:id="@+id/ml_1" android...比如,我们要指定宽度是高度的某个比例的时候,如,宽度是高度的 0.8,可以这样写 <com.xj.maxlayout.MaxLayout android:id="@+id/ml_2" android...当然,也可以同时指定比例和最大宽度,高度。...思路大概如下 没有设置最大宽度,高度,宽高比例,不需要调整,直接返回 先拿到原来的 mode 和 size,暂存起来 根据宽高的比例进行相应的调整 @Override protected void onMeasure

    2.5K20

    【微信小程序】image组件的4种缩放模式与9种裁剪模式

    sacleToFill将改变图片的高宽比,强行让图片更改为样式指定的尺寸,使图片变形。当然,如果原始图片的宽高比例和要缩放的目标宽高比例相同,则不会变形,只是整体上放大或缩小了。...而aspectFit的特点就是保持图片不变形,且容器要“刚好”将这个图片装进去。如果原始图片比容器大,就要被等比例缩小;如果原始图片比容器小,就会被等比例放大。...一直放大或缩小到图片的某一条边刚好和容器的一条边重合。 如下,原始图片大于容器,就会被等比例缩小。 aspectFill 保持纵横比缩放图片,只保证图片的短边能完全显示出来。...也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。 这个模式同样保持图片的高宽比不会变形,但会让图片完全填满整个容器。...如果原始图片尺寸大于容器,则需要等比例缩小,一边刚好接触容器,另外一边等于或超出容器,这样就可以完全填满了。 widthFix 宽度不变,高度自动变化,保持原图宽高比不变。

    3.2K20

    Android实现仿QQ登录界面背景动画效果

    登录QQ的时候,我们会看到在登录界面的背景不是静态的,而是一段动画效果,刚开始觉得蛮好奇的,现在我们也来实现一下这种效果,实现起来还是挺简单的。...android.media.MediaPlayer; import android.util.AttributeSet; import android.view.KeyEvent; import android.widget.VideoView...Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { //我们重新计算高度...:id="@+id/videoview" android:layout_width="match_parent" android:layout_height="match_parent...[wiay5m02ax.png] 在这里插入图片描述 到这里就完成了,源码:公众号回复 "仿QQ登录背景动画效果" --- 小编整理了一份Android电子书籍,需要的童鞋关注公众号回复:"e_books

    1.9K30

    宝, 来学习一下CSS中的宽高比,让 h5 开发更想你的夜!

    什么是高宽比 根据维基百科的说法: 在数学上,比率表示一个数字包含另一个数字的多少倍。例如,如果一碗水果中有八个橙子和六个柠檬,那么橙子和柠檬的比例是八比六(即8∶6,相当于比值4∶3)。...在网页设计中,高宽比的概念是用来描述图像的宽度和高度应按比例调整。 考虑下图 比率是4:3,这表明苹果和葡萄的比例是4:3。 换句话说,我们可以为宽高比为4:3的最小框是4px * 3px框。...当此盒式高度按比例调整为其宽度时,我们将有一个致宽尺寸的框。 考虑下图。 盒子被按比例调整大小,其宽度和高度之间的比例是一致的。...通过拥有一致的高宽比,我们可以获得以下好处 整个网站的图像将在不同的视口大小上保持一致。 我们也可以有响应式的视频元素。...这意味着这个比例应该得到遵守。请考虑 注意右边的图片,宽度÷高度的值是 1.02,这不是原来的长宽比(1.33或4:3)。 你可能在想,如何得出4:3这个数值?

    1.7K30

    Android手机 全面屏(18:9屏幕)适配指南

    暂且不论所谓全面屏如何定义,作为Android开发者更多关心的是屏幕适配的兼容性。全面屏刚出来的时候并不可怕,可怕的是后来出现了一些异形全面屏——把屏幕挖掉一块的那种异类!...全面屏手机大致思路都是压缩额头与下巴,屏幕比例从传统的16:9变为18:9,提高屏占比以及屏幕内的虚拟导航键,本文将简要介绍全面屏适配中一些需要注意的东西以及解决方案。...适配指南 一、声明最大屏幕高宽比 1.1:在应用配置文件AndroidManifest.xml中显式声明支持的最大屏幕高宽比(maximum aspect ratio) 其中 ratio_float 为高宽比...鉴于目前全面屏屏幕比例,将ratio_float设置为2.1即可适配一众全面屏手机。...全面屏时代 | APP如何快速适配? 这4个关键点你要知道!.

    1.5K10

    ios学习7_iPhone屏幕尺寸、分辨率及适配

    大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说ios学习7_iPhone屏幕尺寸、分辨率及适配,希望能够帮助大家进步!!!...从iPhone5(s)发展到iPhone6(+),由于高宽比保持不变,iOS对图标、图片、字体进行等比放大自适应,清晰度会有所降低。同时,绝对坐标布局会导致在大屏下出现偏左偏上的问题。...(s)、6(+)的高宽比是一致的(16:9),即可以等比例缩放。...*(SCREEN_HEIGHT/568) 共有iPhone3/4、5、6、6+四组高度,在iPhone3/4下将按比例纵向缩小,在iPhone6、6+下将按比例纵向放大。...在superView中的相对位置(EdgeInsets/Frame/Center)以及siblingView之间的偏移(Offset),尽量给出适合Autolayout的相对布局比例(理想情况是只给百分比

    93450

    Android手机 全面屏(18:9屏幕)适配指南

    暂且不论所谓全面屏如何定义,作为Android开发者更多关心的是屏幕适配的兼容性。全面屏刚出来的时候并不可怕,可怕的是后来出现了一些异形全面屏——把屏幕挖掉一块的那种异类!...全面屏手机大致思路都是压缩额头与下巴,屏幕比例从传统的16:9变为18:9,提高屏占比以及屏幕内的虚拟导航键,本文将简要介绍全面屏适配中一些需要注意的东西以及解决方案。...适配指南 一、声明最大屏幕高宽比 在应用配置文件AndroidManifest.xml中显式声明支持的最大屏幕高宽比(maximum aspect ratio)。...鉴于目前全面屏屏幕比例,将ratio_float设置为2.1即可适配一众全面屏手机。...考虑到目前大部分全面屏手机只是在高度上拉长,且大多为6.0英寸左右,像素密度对比xxhdpi并没有多大区别,那我们可以在项目中增加一组资源drawable-xxhdpi-2160x1080 、drawable-long

    1.8K10

    今日头条屏幕适配方案终极版正式发布!前言方案对比AndroidAutoSize总结

    Android 屏幕适配方案,而且它们都已经拥有了一定的用户基数 但是对于一些才接触这两个方案的朋友,肯定或多或少还是不知道如何选择这两个方案,我虽然在之前的文章中给出了它们各自的优缺点,但是并没有用统一的标准对它们进行更细致的对比...这也很简单,你无法保证所有设备的高宽比例都和你设计图上的高宽比例一致,特别是在现在全面屏全面推出的情况下,如果这里不这样做的话,当你的项目运行在与设计图高宽比例不一致的设备上时,布局会出现严重的变形,这个几率非常大...,详情请看 这里 自动运行是如何做到的?...CustomAdapt { /** * 是否按照宽度进行等比例适配 (为了保证在高宽比不同的屏幕上也能正常适配, 所以只能在宽度和高度之中选择一个作为基准进行适配) *...其实整个系列文章可以看作是我怎么去选择同类型开源方案的过程,你以后当遇到同样的选择也可以参照我的思维方式去处理,当然如果以后面试官问到你屏幕适配相关的问题,你能将我如何选择、分析、对比已有方案的过程以及文章中的核心知识点告诉给面试官

    3.5K31

    【Web技术】771- 图片懒加载从简单到复杂

    如何选择合适的Placeholder图片 在上面的demo中我们使用了placeholder图片,实际上,图片所占的位置是否确定对于我们选择placeholder图片有着很大的影响。...relative; display: block; height: 0; } .lazy-load__container.feature { // feature image 的高宽比设置成...去声明一个对应高宽比的container。...而这个container的具体尺寸会由尺寸确定的外层元素确定,但是高宽比始终保持一致。 而图片的尺寸设置成100%container的尺寸保证图片始终和container的尺寸保持一致。...需要注意的是上面这个方法并不能适配图片比例不一致的网站(比如本站),不过好在,为了用户体验,现在绝大多数网站的图片比例都有明确的要求,绝大多数情况下我们只适配保证网站常用的的几种图片宽高比例即可。

    90950

    多媒体开发

    Ø 掌握如何使用MediaPlayer播放音乐 Ø 掌握如何使用SoundPool播放音效 Ø 掌握如何使用VideoView播放视频 Ø 掌握如何使用MediaRecorder录制音频 Ø 了解如何使用...手机已经发展成一个集照相机、音乐播放器、视频播放器、网页浏览器等功能于一体的智能设备。因此为手机提供音、视频的录制、播放以及照相等功能已经成为软件开发中必不可少的内容。...可是音乐播放这种功能在Android系统中是如何实现的呢?本小节中我们就学习如何使用android.media.MediaPlayer类播放保存在apk中或SD卡中的音频文件。...其中参数priority目前还没有任何作用,Android建议我们将该参数设为1,以保持和未来版本的兼容性。...下面我们就通过一个简单的例子来演示如何调用系统的照相功能。

    7810
    领券