1

我正在使用适用于 Android 的 Google VR 开发 VR 应用程序。当我切换到双目模式(单击耳机按钮)时,出现以下屏幕:

纸板说明

我怎样才能避免这个屏幕?

可以通过编程方式切换到双目模式吗?

谢谢,克里斯蒂安

4

2 回答 2

1

昨天我正在努力实现与您现在所寻求的相同的结果。所以,我为此做了一个解决方法,我不知道它是否完美,但它在我的最终工作。

您需要做的就是获取 VrVideoView 的所有子视图,以便您可以进行相应的自定义。

VrVideoView videoWidgetView = (VrVideoView) findViewById(R.id.video_view);
View framelayout = ((ViewGroup) videoWidgetView).getChildAt(0);
ArrayList<View> list = getAllChildren(framelayout);

for(final View view : list) {

  if(view.getId() == R.id.transition_frame){
    //set visiblity gone for that cardboard information screen
    view.setVisibility(View.GONE);

  }
  else if(view.getId() == R.id.transition_icon){
  //perform click action of the same screen's icon which can
  //redirect you to cardboard vr screen directly(binocular mode)
    view.performClick();

  }
}

获取所有子视图的递归方法:

private ArrayList<View> getAllChildren(View v) {

if (!(v instanceof ViewGroup)) {
  ArrayList<View> viewArrayList = new ArrayList<View>();
  viewArrayList.add(v);
  return viewArrayList;
}

ArrayList<View> result = new ArrayList<View>();

ViewGroup viewGroup = (ViewGroup) v;
for (int i = 0; i < viewGroup.getChildCount(); i++) {

  View child = viewGroup.getChildAt(i);

  ArrayList<View> viewArrayList = new ArrayList<View>();
  viewArrayList.add(v);
  viewArrayList.addAll(getAllChildren(child));
  result.addAll(viewArrayList);
}
return result;
}

我希望这可以解决您的问题。此外,您还可以通过调用相应的视图直接跳转到全屏模式。

于 2016-07-19T15:45:09.453 回答
0

你可以试试 setTransitionViewEnabled(boolean enabled): https://developers.google.com/vr/android/reference/com/google/vr/sdk/base/GvrView.html#setTransitionViewEnabled(boolean)

对于单声道和虚拟现实模式之间的切换,setVRModeEnabled(boolean enabled):https://developers.google.com/vr/android/reference/com/google/vr/sdk/base/GvrView.html#setVRModeEnabled(boolean)

于 2016-07-16T20:15:08.630 回答