Попытка надуть и добавить пользовательский вид с определенной шириной и высотой от родительского вида. Я попытался использовать параметры макета, вручную установить размер SurfaceView и многое другое, но не повезло. Застрял в этом какое-то время, любая помощь приветствуется.
Высота и ширина родительского вида верна:
Я попытался накачать представление с помощью XML-макета и вызвать его программно. Я предполагаю, что это имеет отношение к родителю. Родителем было представление RelativeLayout, я также пробовал представление Frame и Coordinator. Если родитель имеет полный экран, значит ли это, что у ребенка нет места? Как мне решить эту проблему, чтобы иметь несколько стеков одного размера?
if (mainVideoView == null) {
mainVideoView = new VideoView(themedReactContext);
addView(mainVideoView, new LayoutParams(getWidth(), getHeight()));
addOnTapListener(mainVideoView);
}
Глядя на инспектор макета, я вижу, что высота и ширина макета установлены, однако фактические высота и ширина вида не установлены.
public void init() {
createAudioTrack();
if (mode != null && role != null) {
if (role.equals(ROLE_PRESENTER)) {
switch (mode) {
case MODE_VIDEO:
addOnTapListener(mainVideoView);
createVideoTrack(null);
break;
case MODE_AR:
inflate(getContext(), R.layout.ar_layout, this);
arView = findViewById(R.id.ar_container);
arView.setBackgroundColor(Color.GREEN);
arView.setLayoutParams(new FrameLayout.LayoutParams(getWidth(), getHeight(), Gravity.CENTER));
arView.setMinimumWidth(getWidth());
arView.setMinimumHeight(getHeight());
arView.measure(MeasureSpec.makeMeasureSpec(
getWidth(), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(
getHeight(), MeasureSpec.EXACTLY));
arView.requestLayout();
requestLayout();
createVideoTrack(new ViewCapturer(arView.arFragment.getArSceneView()));
break;
case MODE_MEASURE:
createVideoTrack(null);
break;
default:
break;
}
}
}
}
Журналы ViewGroup "TwilioVideo", показывающие правильный размер:
I/@@@TwilioVideo: resume
I/@@@TwilioVideo: twilio video focus: true
I/@@@TwilioVideo: visibiity: 6
I/@@@TwilioVideo: AR PRESENTER
I/@@@TwilioVideo: 2220 1080
I/@@@ARView: onFinishInflate
I/@@@Format: 0 0 30
I/@@@Format: 0 0 30
I/@@@Format: 0 0 30
I/@@@Format: 0 0 30