如何在 Android Studio 中将一个 VideoView 放在另一个 VideoView 下方?

Posted

技术标签:

【中文标题】如何在 Android Studio 中将一个 VideoView 放在另一个 VideoView 下方?【英文标题】:How can I place one VideoView below another VideoView in Android Studio? 【发布时间】:2020-05-21 06:14:23 【问题描述】:

我需要创建一个视频视图,它在运行时应该位于 ID 为“video1”的视频视图下方。 该代码适用于创建视图,但我无法将其放置在 ID 为“video1”的 videoView 下方。这是代码:

            RelativeLayout layout = findViewById(R.id.layout);
            RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) 
            layout.getLayoutParams();
            params.addRule(RelativeLayout.BELOW, R.id.video1);
            videoView2 = new VideoView(jazz.this);
            videoView2.setLayoutParams(params);
            videoView2.setLayoutParams(new 
            FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, 200));
            layout.addView(videoView2);

【问题讨论】:

【参考方案1】:

这是你的代码:

 videoView2.setLayoutParams(params);
        videoView2.setLayoutParams(new 
        FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, 200))

您设置了两次 LayoutParams...

使用这个:

 VideoView v = new VideoView(context);
    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, 200);
    layoutParams.addRule(RelativeLayout.BELOW, R.id.video1);
    v.setLayoutParams(layoutParams);
  container.addView(v);

它会工作的。希望能帮到你

【讨论】:

我该怎么办?我需要设置视频视图的参数并将其放在另一个视频视图下方。 然后。如果在同一个容器中有多个 VideoView。它将出现问题。如果发生这种情况,请在中国以外的谷歌或中国的百度中进行处理【参考方案2】:

你应该像这样为你的 video2 设置参数:

RelativeLayout layout = (RelativeLayout)findViewById(R.id.layout);
        videoView2 = new VideoView(this);
        videoView2.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,200));
        layout.addView(videoView2);
        RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) videoView2.getLayoutParams();
        params.addRule(RelativeLayout.BELOW, R.id.video1);
        videoView2.setLayoutParams(params);

而且你的 video1 应该有一个 height 参数集,因为 videoview 测量是基于你设置的视频,从它的外观上看,没有定义视频路径,所以如果 video1 height=wrap_content ,它会占用整个屏幕,没有束缚。我在 xml 中有这样的:

<VideoView
    android:id="@+id/video1"
    android:layout_
    android:layout_
    android:layout_marginBottom="20dp"/>

【讨论】:

以上是关于如何在 Android Studio 中将一个 VideoView 放在另一个 VideoView 下方?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android Studio 中将文本设置为对应的图像

如何在Android Studio中将Pdf文件转换为文本

如何在我的Android Studio中将本地管理面板与我的Android应用程序连接?

如何在 Android Studio 中将 ListView 更改为 RecyclerView?

如何在 Android Studio Java 中将数组上传到 Firestore 数据

如何在 Android Studio 中将 CSV 文件解析为数组