2016-07-15 7 views
1

Ich entwickle eine VR-App mit Google VR für Android. Als ich Binocular-Modus (klicken Sie auf die Headset-Taste) einschalten, erscheint die folgende Anzeige:In Google VR für Android in den binokularen Modus wechseln?

Cardboard instructions

Wie kann ich diesen Bildschirm zu vermeiden?

Es ist möglich programmatisch auf binokularen Modus umzuschalten?

Danke, Christian

Antwort

0
+0

Hallo @Isaac, danke für deine Antwort, ich benutze ** VrVideoView ** gibt es eine Möglichkeit, eine ** GvrView ** von ** VrVideoView ** zu bekommen? – Christian

1

Gestern ich arbeitete erreiche das gleiche Ergebnis, wie du es jetzt suchst. Also habe ich einen Workaround dafür gemacht, ich weiß nicht, ob es perfekt ist oder nicht, aber es funktioniert an meinem Ende.

Alles, was Sie tun müssen, ist, alle untergeordneten Ansichten des VrVideoView zu erhalten, damit Sie entsprechend anpassen können.

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(); 

    } 
} 

rekursive Methode, um alle untergeordneten Ansichten:

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

Ich hoffe, das Ihr Problem lösen könnte. Zusätzlich können Sie direkt in den Vollbildmodus springen, indem Sie entsprechende Ansichten aufrufen.

Verwandte Themen