我正在开发使用适用于Android的Google VR的VR应用程序。 当我切换到双目模式(点击耳机按钮),出现以下画面:在Google VR for Android中切换到双目模式?
我怎样才能避免这种屏幕?
可以通过编程切换到双目模式吗?
感谢, 基督教
我正在开发使用适用于Android的Google VR的VR应用程序。 当我切换到双目模式(点击耳机按钮),出现以下画面:在Google VR for Android中切换到双目模式?
我怎样才能避免这种屏幕?
可以通过编程切换到双目模式吗?
感谢, 基督教
你可以尝试setTransitionViewEnabled(能布尔):https://developers.google.com/vr/android/reference/com/google/vr/sdk/base/GvrView.html#setTransitionViewEnabled(boolean)
对于单声道和VR模式之间切换,setVRModeEnabled(布尔启用):https://developers.google.com/vr/android/reference/com/google/vr/sdk/base/GvrView.html#setVRModeEnabled(boolean)
昨天我正在努力达到您现在正在寻找的相同结果。所以,我为此做了一个解决方法,我不知道它是否完美,但它的工作是否结束。
您只需要获取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;
}
我希望这可以解决您的问题。此外,您还可以通过调用相应的视图直接跳转到全屏模式。
嗨@Isaac,感谢您的回答,我正在使用** VrVideoView **有一种方法从** VrVideoView **获得** GvrView **? – Christian