我正在进行视频会议APP,我有一个framelayout,它将使用surfaceview来呈现视频,而Button可以结束该参与者的呼叫。
由于可以动态添加参与者,因此在创建新用户时,我必须对此布局进行充气。
这个膨胀的布局将被添加到tablelayout中,以便我可以容纳许多我想要的订单的布局/用户。
我正在给FrameLayout充气,如:
participantHolder.mParticipantFrameLayout = (FrameLayout)mInflater.inflate(R.layout.generic_paritcipant_layout, null);
我正在使用以下方法获取此布局中的表面视图按钮:
//get the Dropuser button
participantHolder.mParticipantDropButton = (ImageButton)mFrameLayt.findViewById(R.id.ParticipantDropButton);
//get the surfaceview
participantHolder.mParticipantSurfaceView = (SurfaceView)mFrameLayt.findViewById(R.id.ParticipantSurfaceView);
并通过设置布局参数将布局添加到表格行中。
TableRow.LayoutParams PreviewLayoutParams = new TableRow.LayoutParams(0, TableRow.LayoutParams.MATCH_PARENT);
PreviewLayoutParams.weight = 1;
CurrentParticpant.mParticipantUIHolder.mParticipantFrameLayout.setLayoutParams(PreviewLayoutParams);
CurrentParticpant.mParticipantUIHolder.mParticipantFrameLayout.invalidate();
mTableRowOne.addView(CurrentParticpant.mParticipantUIHolder.mParticipantFrameLayout);
mTableRowOne.invalidate();
mTableLayoutReference.invalidate();
但我根本无法看到视图/布局,如果我做错了,请告诉我
答案 0 :(得分:0)
我认为问题在于:
TableRow.LayoutParams PreviewLayoutParams = new TableRow.LayoutParams(0, TableRow.LayoutParams.MATCH_PARENT);
第一个参数表示宽度,您将其设置为0.请尝试以下操作:
TableRow.LayoutParams PreviewLayoutParams = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.MATCH_PARENT, 1);
使用这样的构造函数,您不需要添加PreviewLayoutParams.weight = 1;
http://developer.android.com/reference/android/widget/TableRow.LayoutParams.html#TableRow.LayoutParams%28int,%20int,%20float%29