要保持Android VideoView的高宽比只与其高度成比例,可以通过以下步骤实现:
<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
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)用于存储和处理视频文件,提供丰富的视频处理功能和播放能力,适用于各种视频场景。
领取专属 10元无门槛券
手把手带您无忧上云