HarmonyOS 鸿蒙Next Video()针对[不同宽高]的视频,如何实现自适应显示?

HarmonyOS 鸿蒙Next Video()针对[不同宽高]的视频,如何实现自适应显示? Video组件显示视频的时候,必须设置Video的宽高吗,不能做到自适应显示嘛?

如何获取视频的宽高?

如下图,给宽高就可以正常大小显示,

不给宽高就会出现显示不全的情况,猜测这个时候,宽高默认给的是100%

3 回复

问题已解决,感谢楼主分享!

更多关于HarmonyOS 鸿蒙Next Video()针对[不同宽高]的视频,如何实现自适应显示?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


找到了API文档

Contain保持宽高比进行缩小或者放大,使得图片完全显示在显示边界内。

.objectFit(ImageFit.Contain)

在HarmonyOS中,使用Video组件时,可以通过设置aspectRatio属性来实现不同宽高视频的自适应显示。aspectRatio属性用于控制视频的宽高比,常见的值包括fitfillstretch等。

  • fit:保持视频的原始宽高比,确保视频内容完整显示,可能会有黑边。
  • fill:填充整个容器,可能会裁剪视频内容以适配容器。
  • stretch:拉伸视频以完全填充容器,可能会改变视频的宽高比。

此外,可以通过layoutWeight属性来分配视频组件在父容器中的空间比例,从而实现更灵活的自适应布局。

例如:

<Video
  src="video.mp4"
  aspectRatio="fit"
  layoutWeight="1"
/>

通过这些属性,可以根据具体需求实现视频的自适应显示。

回到顶部