0

我正在使用 vidyo 在我的 android 应用程序中实现视频通话。如何在加载新意图时创建视图实例?

我有一个按钮,点击它我可以执行所需的操作。它是这样定义的。

public void Start(View v){
   vc = new Connector(videoFrame, Connector.ConnectorViewStyle.VIDYO_CONNECTORVIEWSTYLE_Default,
                16, "warning all@VidyoConnector info@VidyoClient", "", 0);
   vc.showViewAt(videoFrame, 0, 0, videoFrame.getWidth(), videoFrame.getHeight());
   }

但是现在,我希望在不单击按钮的情况下执行相同的操作。

它应该发生在 onCreate() 中,但这失败了。我无法查看我的相机预览。还有什么可以做的?

4

1 回答 1

1

这可能是因为您的 videoFrame 尚未布局。getWidth在使用和方法之前,您需要确保视图完成了布局getHeight,为此您可以使用例如 OnglobalLayoutListener。

videoFrame.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
// YOUR CODE GOES HERE
videoFrame.getViewTreeObserver().removeOnGlobalLayoutListener(this);
    }
});
于 2019-09-30T08:02:15.853 回答