充气后Android布局元素不可见

时间:2016-06-21 10:51:03

标签: android android-layout surfaceview

我正在尝试创建一个可以进行视频通话的应用。

呼叫布局包括一个远程表面视图,用于显示占据大部分屏幕的远程端,以及另一个位于远程表面视图顶部的小型本地表面视图,以显示本地摄像头,这是一个小盒子。屏幕的左上角。

看起来像这样:

<FrameLayout
   android:layout_width="match_parent"
   android:layout_height="0dp"
   android:layout_weight="1.7">

   <SurfaceView
        android:id="@+id/remoteSurface"
        android:layout_height="match_parent"
        android:layout_width="match_parent"/>

   <LinearLayout
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:weightSum="1">

               <LinearLayout
                  android:layout_height="0dp"
                  android:layout_width="match_parent"
                  android:layout_weight="0.25"
                  android:orientation="horizontal"
                  android:weightSum="1">

                  <SurfaceView
                      android:id="@+id/localSurface"
                      android:layout_width="0dp"
                      android:layout_height="match_parent"
                      android:layout_weight="0.2" />

                  </LinearLayout>
            //some more layout unrelated to the question

SurfaceHolder.Callback

期间,展开此布局的片段会将onCreateView添加到曲面视图的持有者

当尝试创建一个呼叫时,呼叫发起者正在看到他应该做的一切 - 远程表面和它上面的本地没有问题。

问题出在接收方..由于某种原因,当在接收方充气相同的布局时,我只能看到远程表面视图而根本没有本地表面。我在整个屏幕上看到对方的视频没有当地表面的小左上方,就像它根本没有那样。如果我在膨胀时将此行添加到onCreateView

localSurface.setBackgroundColor(Color.BLACK);
然后我突然看到表面,但当然只有黑色背景。

为什么在收到来电的情况下不会显示表面视图?

更新:我尝试将远程表面的背景颜色设置为黑色,然后我突然能够查看局部表面,但我看到了远程视频的一部分。

效果与使用2个屏幕的计算机上的效果相同,每个显示图片的一半,所以在我的情况下它就像我有2个表面,每个都显示相同图片的一部分(图片)这里是远程视频),而不是本地表面显示一个应该是本地视频的不同图片..

如果局部表面会显示远程视频的一部分而不是本地视频,情况会怎样?

0 个答案:

没有答案