1

我有一个统一项目,我使用 Android (java) 插件来获取相机数据。我在 TextureView 上画了这个。当我统一按下按钮时,我想隐藏/显示此视图。但是当我设置可见性时我的应用程序崩溃了

创建

UnityPlayer.currentActivity.addContentView(texView, new FrameLayout.LayoutParams(400, 400));

爪哇:

public void HideVideo()
{
    //Hide view
    _TextureView.setVisibility(View.INVISIBLE);
}

我需要调用一个额外的函数,还是我只能在某些时候调用它?

这些都不起作用,它们都使我的应用程序崩溃。

    _TextureView.setVisibility(View.INVISIBLE);
    _TextureView.setActivated(false);
    _TextureView.setAlpha(0);
    _TextureView.setTranslationY(-1000);
4

1 回答 1

0

我已经解决了,现在我设置了一个布尔值,并在 onSurfaceTextureUpdated 回调中设置了 alpha。

public void onSurfaceTextureUpdated(SurfaceTexture surface)
{
    //Visibility changed
    if(_isVisibleChanged == true)
    {
        //Show video
        if(_isVisible)
            _TextureView.setAlpha(1);

        //Hide video
        else
            _TextureView.setAlpha(0);

        //Visibility updated
        _isVisibleChanged = false;
    }
}

但是仍然不明白为什么不在此函数内时它会崩溃。有人对此有答案吗?

于 2012-10-01T09:51:55.117 回答