创建视频视图是透明的

时间:2017-11-22 09:01:45

标签: android video

我有2个布局的视频通话应用:一个用于本地视频视图,另一个用于远程视频视图。我想要做的是使远程视频视图透明并将其放在本地视频视图上。

我已经尝试在xml布局中添加android:background:@colour/transparentandroid:alpha:"0.5",但这两者都不起作用。对此问题的任何建议?感谢

这是我的xml布局

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_video_chat_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".CallActivity">



<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="4"
    android:background="@android:color/darker_gray"
    android:orientation="vertical"
    android:padding="0dip">

<FrameLayout
    android:id="@+id/remote_video_view_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    />

<FrameLayout
    android:id="@+id/local_video_view_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginEnd="@dimen/activity_horizontal_margin"
    android:layout_marginRight="@dimen/activity_horizontal_margin"
    android:layout_marginTop="@dimen/activity_vertical_margin"
    android:background="@android:color/darker_gray"
    android:alpha="0.5"/>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="@dimen/activity_vertical_margin"
        android:layout_marginRight="@dimen/activity_horizontal_margin"
        android:layout_marginTop="@dimen/activity_vertical_margin"
        android:layout_marginLeft="@dimen/activity_horizontal_margin">

        <ImageView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="20"
            android:onClick="onLocalVideoMuteClicked"
            android:scaleType="centerInside"
            android:src="@drawable/btn_voice" />

        <ImageView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="20"
            android:onClick="onLocalAudioMuteClicked"
            android:scaleType="centerInside"
            android:src="@drawable/btn_mute" />

        <ImageView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="20"
            android:onClick="onSwitchCameraClicked"
            android:scaleType="centerInside"
            android:src="@drawable/btn_switch_camera" />

        <ImageView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="20"
            android:onClick="onEncCallClicked"
            android:scaleType="centerInside"
            android:src="@drawable/btn_end_call" />

        <ImageView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="20"
            android:scaleType="centerInside"
            android:src="@drawable/sc"
            android:onClick="save"/>

        <ImageView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="20"
            android:scaleType="centerInside"
            android:src="@drawable/draw" />

    </LinearLayout>

</RelativeLayout>

<LinearLayout
    android:id="@+id/layout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="@dimen/activity_vertical_margin"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="@dimen/activity_horizontal_margin"
        android:layout_marginStart="@dimen/activity_horizontal_margin"
        android:gravity="center_vertical|start"
        android:text="Waiting for remote users"/>

    <TextView
        android:id="@+id/txChannelName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="40dp"
        android:layout_marginLeft="@dimen/activity_horizontal_margin"
        android:layout_marginStart="@dimen/activity_horizontal_margin"
        android:gravity="center_vertical|start" />

</LinearLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

我认为您首先编写远程视频View并在编写本地视频后在XML中查看尝试它可能有用

答案 1 :(得分:0)

首先,您需要切换视图的顺序,将远程视图放在XML中的本地视图下方(在XML中,在视图层次结构的较高位置):

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_video_chat_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".CallActivity">

    <!-- ... -->

    <FrameLayout
        android:id="@+id/local_video_view_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginEnd="@dimen/activity_horizontal_margin"
        android:layout_marginRight="@dimen/activity_horizontal_margin"
        android:layout_marginTop="@dimen/activity_vertical_margin"
        android:background="@android:color/darker_gray"/>

    <FrameLayout
        android:id="@+id/remote_video_view_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/white"
        android:alpha="0.5"
        />

    <!-- ... -->

</RelativeLayout>

其次,在不知道视频显示的视图类型的情况下,很难提供帮助。但如果您使用的是VideoView,那么当它出现时它并不是特别灵活动画/更改其视图属性。但在这种情况下,尝试切换到TextureView,它可以更好地支持动画,例如淡出。