如何在Google Cardboard的GvrView中添加图像/视频小部件?

时间:2016-06-27 15:14:10

标签: android google-cardboard

我是谷歌纸板的新手,并尝试实施一个非常简单的演示。 我试过VrVideowidget& panowidget分开但无法用GvrView实现它。我的代码和输出工作如下所示。

我添加了一个自动提供分屏的GvrView,之后我想在每个屏幕上添加相同的图像/视频,以便它可以在谷歌纸板上很好地显示。我通过addView()添加的视图在两个屏幕上都显示为单个而不是两个。我在onDrawEye()上添加了它。请帮助我重新开始。

我的最终目标是在Google Cardboard上创建一个非常基本的图像/视频演示,并附带所需的功能。

MainActivity.java

public class MainActivity extends GvrActivity implements GvrView.StereoRenderer {


    GvrView gvrView;

    private ImageView imageView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        imageView = new ImageView(this);

        gvrView = new GvrView(this);

        gvrView.setRenderer(this);

        setContentView(gvrView);

    }

 @Override
    public void onDrawEye(Eye eye) {

        imageView.setImageResource(R.drawable.ic_launcher);
       // gvrView.addView(imageView);
        gvrView.addView(imageView,400,400);

    }
}

enter image description here

2 个答案:

答案 0 :(得分:0)

使用 VrPanoramaView 代替,代码示例如下:

在项目中添加panowidget lib

import com.google.vr.sdk.widgets.pano.VrPanoramaView;

VrPanoramaView panoWidgetView = (VrPanoramaView) findViewById(R.id.pano_view);
panoWidgetView.loadImageFromBitmap(img,null);
panoWidgetView.resumeRendering();

答案 1 :(得分:0)

我不是专家,但我的理解是你使用onDrawEye渲染特定于单个眼睛的图像,而使用onNewFrame()进行非眼睛特定渲染。 所以移动

imageView.setImageResource(R.drawable.ic_launcher);
       // gvrView.addView(imageView);
        gvrView.addView(imageView,400,400);

到onNewFrame()就足够了。