2016-07-15 59 views
1

我正在开发使用适用于Android的Google VR的VR应用程序。 当我切换到双目模式(点击耳机按钮),出现以下画面:在Google VR for Android中切换到双目模式?

Cardboard instructions

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

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

感谢, 基督教

回答

0
+0

嗨@Isaac,感谢您的回答,我正在使用** VrVideoView **有一种方法从** VrVideoView **获得** GvrView **? – Christian

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; 
} 

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