gpt4 book ai didi

Android Videoview - 删除两侧的黑色空间

转载 作者:行者123 更新时间:2023-11-29 18:26:51 24 4
gpt4 key购买 nike

enter image description here

我将如何填充我的整个视频 View ,以便黑框消失。我不想使用 alignTop、bottom、left、right,因为当软键盘调整视频 View 时,对齐会阻止调整视频 View 。

<RelativeLayout
android:id="@+id/fragment_video_video_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintHeight_percent=".33"
app:layout_constraintWidth_default="percent"
app:layout_constraintTop_toTopOf="parent"
android:gravity="center">

<VideoView
android:id="@+id/fragment_video_video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

<ProgressBar
android:id="@+id/video_progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>

</RelativeLayout>

编辑 1:____________________________________________________________

当键盘出现时我使用对齐和重新调整时会发生这种情况我不想要这个

<VideoView
android:id="@+id/fragment_video_video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentLeft="true"/>

enter image description here

最佳答案

我以前遇到过这个问题 - 没有简单、明显或开箱即用的 (android) 方法来做到这一点。

据我了解,您正在尝试做的事情类似于ImageView 上使用 center_crop - 对吗?为此,您可以使用外部库或使用带有 TextureView 的编程解决方案(请参阅下面的更详细说明)

...

选项 A:使用外部库

有不止一个第三方库可用于此..

我以前没用过这个,但如果我现在处于你的情况,我会选择这个。

用法:

构建.gradle

dependencies {
compile 'com.yqritc:android-scalablevideoview:1.0.4'
}

布局.xml

<com.yqritc.scalablevideoview.ScalableVideoView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="100dp"
app:scalableType="centerCrop"/>

...或使用其他选项..

我以前用过这个。然而,它看到的最后一次更新是 4-6 年前,所以是的,不确定你是否想依赖它,而且开发人员说不再支持该库。

用法:

<com.dd.crop.TextureVideoView
android:id="@+id/cropTextureView"
android:layout_width="fill_parent"
android:layout_height="100dp"/>

然后

TextureVideoView cropTextureView = (TextureVideoView) findViewById(R.id.cropTextureView);
cropTextureView.setScaleType(TextureVideoView.ScaleType.CENTER_CROP);
cropTextureView.setDataSource("http://www.w3schools.com/html/mov_bbb.mp4");
cropTextureView.play();

...

选项 B:以编程方式解决问题

例如使用 TextureView

有关所有详细信息,请参阅此处的这篇文章。基本上,您最终会计算必要的大小并操纵 View ……

Android VideoView crop_center

关于Android Videoview - 删除两侧的黑色空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58427146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com