鸿蒙Next开发中怎么让video旋转90度成为全屏呢
在鸿蒙Next开发中,如何实现video组件旋转90度并全屏显示?目前尝试设置旋转角度后画面会被裁剪,无法完美适配屏幕。需要具体代码示例或解决方案来保证视频内容完整显示且占满全屏。
2 回复
哈哈,让Video组件旋转90度?简单!用transform属性就行:
video {
transform: rotate(90deg);
width: 100vh; /* 交换宽高 */
height: 100vw;
}
记得把容器也旋转一下,不然会跑偏!就像把手机横过来看视频一样自然~
更多关于鸿蒙Next开发中怎么让video旋转90度成为全屏呢的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在鸿蒙Next中,可以通过设置Video组件的旋转角度和宽高来实现视频旋转90度全屏效果。以下是具体实现方法:
方法一:使用rotate属性
@Component
struct VideoExample {
private controller: VideoController = new VideoController()
build() {
Column() {
Video({
src: $rawfile('video.mp4'),
controller: this.controller
})
.width('100%') // 宽度设为100%
.height('100%') // 高度设为100%
.rotate({ // 设置旋转
x: 0,
y: 0,
z: 1,
angle: 90, // 旋转90度
centerX: '50%',
centerY: '50%'
})
}
.width('100%')
.height('100%')
}
}
方法二:结合布局变换
@Component
struct VideoExample {
private controller: VideoController = new VideoController()
build() {
Stack({ alignContent: Alignment.Center }) {
Video({
src: $rawfile('video.mp4'),
controller: this.controller
})
.width('100vh') // 交换宽高值
.height('100vw')
.rotate({
x: 0,
y: 0,
z: 1,
angle: 90,
centerX: '50%',
centerY: '50%'
})
}
.width('100%')
.height('100%')
}
}
关键点说明:
- 使用
rotate属性设置旋转角度为90度 - 旋转中心点设为(50%, 50%)确保居中旋转
- 可能需要交换宽高值来适应旋转后的布局
- 使用Stack布局确保视频居中显示
注意事项:
- 确保父容器宽高设置为100%
- 根据实际需求调整宽高比例
- 可以结合手势事件实现旋转交互功能
这样就能实现视频旋转90度并全屏显示的效果了。

