2016-07-15 7 views
1

Android用Google VRを使用してVRアプリケーションを開発しています。私は(ヘッドセットのボタンをクリック)双眼モードに切り替えると 、次の画面が表示されます。Android用Google VRの双眼鏡モードに切り替えるには?

Cardboard instructions

どのように私はこの画面を避けることができますか?

プログラムで両眼モードに切り替えることはできますか? (ブール値が有効)、モノおよびVRモードを切り替えるためのhttps://developers.google.com/vr/android/reference/com/google/vr/sdk/base/GvrView.html#setTransitionViewEnabled(boolean)

setVRModeEnabled:あなたは(ブール値が有効)setTransitionViewEnabled試すことができます

おかげで、 クリスチャン

答えて

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

が、私はこれがあなたの問題を解決する可能性があります願っています。さらに、それぞれのビューを呼び出すことで、フルスクリーンモードにジャンプすることもできます。

関連する問題