在 android 的视频视图上方或视频视图上显示文本

Posted

技术标签:

【中文标题】在 android 的视频视图上方或视频视图上显示文本【英文标题】:Display text above or on video view in android 【发布时间】:2016-06-02 07:25:00 【问题描述】:

我有一个简单的要求。我有一个用户使用他的电子邮件 ID 登录到我的应用程序。 登录后,他播放了一个使用 VideoView 播放的视频。 我想在控件上方的右下角显示用户的电子邮件 ID。 我正在考虑使用 Framelayout 并在视频视图上方放置一个文本视图。这是正确的方法吗?还是 VideoView 在内部提供了一些方法来显示视频上方的文本? 我试图显示文本的方式也是最好的方式吗? 或者我可以用更简单的方式来做吗? 抱歉,如果这个问题听起来很菜鸟,我是 android 新手。也没有太多关于这个主题的帮助,所以应该问你们。

问候,

数字化

【问题讨论】:

我认为最好的方法是使用 framelayout 或相对布局将 textview 放在 videoview 上。 显示你的代码..!! 更多的是设计问题,而不是如何实现 【参考方案1】:

RelativeLayout 对我不起作用。使用 LinearLayout 是我发现的唯一选择。

<LinearLayout
        android:orientation="vertical"
        android:layout_
        android:layout_>

        <VideoView
            android:layout_
            android:layout_
            android:id="@+id/howToUse_vv"
            android:scaleType="fitCenter"
            />

        <ImageView
            android:id="@+id/btnPlay"
            android:layout_
            android:layout_

            android:layout_gravity="center"
            android:layout_centerHorizontal="true"


            android:padding="5dp"

            android:clickable="true"
            android:focusable="true"
            android:onClick="playVideo"

            android:src="@mipmap/play" />
    </LinearLayout>

【讨论】:

【参考方案2】:

嗨,这是 Biswajit 在他的评论中建议的方式,试试这个:

<RelativeLayout
    android:layout_
    android:layout_>

    <VideoView
        android:layout_
        android:layout_ />

    <TextView
        android:layout_centerInParent="true"
        android:layout_
        android:layout_
        android:text="foo"/>
</RelativeLayout>

请注意,视图的顺序很重要。在另一个视图将覆盖它之后放置在容器中的视图因此下面将不起作用:

<RelativeLayout
    android:layout_
    android:layout_>

    <TextView  
        android:layout_centerInParent="true"
        android:layout_ 
        android:layout_
        android:text="foo"/>

    <!--bad order VideoView is covering TextView-->
    <VideoView 
        android:layout_
        android:layout_ />
</RelativeLayout>

【讨论】:

【参考方案3】:

    <VideoView
        android:id="@+id/vv_question_video_solutions"
        android:layout_
        android:layout_
        android:layout_alignParentRight="true" />

    <TextView
        android:layout_
        android:layout_
        android:layout_centerInParent="true"
        android:text="Video View" />
</RelativeLayout>

【讨论】:

以上是关于在 android 的视频视图上方或视频视图上显示文本的主要内容,如果未能解决你的问题,请参考以下文章

Surface 视图显示黑屏以进行视频预览

HTML5 视频全屏未填充在移动视图上的 android 浏览器上

使用视频视图的 Android 视频流(视频视图不自动显示)

当在视频视图android中使用seekbar时如何举杯?

如何在视频上绘制文本以在 iOS 上显示字幕?

使用 Thumbnails android 在列表视图中显示特定文件夹视频