1

Unity プロジェクトがあり、Android (Java) プラグインを使用してカメラ データを取得しています。これを TextureView に描画します。Unityでボタンを押したときに、このビューを非表示/表示したい。しかし、setVisibility を設定するとアプリがクラッシュします

onCreate

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 コールバックでアルファを設定しました。

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 に答える