Переход в бинокулярный режим в Google VR для Android?
Я разрабатываю приложение VR, используя Google VR для Android. Когда я переключаюсь в бинокулярный режим (нажимая кнопку гарнитуры), появляется следующий экран:
Как я могу избежать этого экрана?
Можно ли переключиться в бинокулярный режим программно?
Спасибо христианин
2 ответа
Вчера я работал для достижения того же результата, который вы ищете сейчас. Итак, я сделал обходной путь для этого, я не знаю, идеально ли это или нет, но он работает на моем конце.
Все, что вам нужно сделать, это получить все дочерние представления 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;
}
Я надеюсь, что это может решить вашу проблему. Кроме того, вы можете напрямую перейти в полноэкранный режим, вызвав соответствующие представления.
Вы можете попробовать setTransitionViewEnabled(логическое значение включено): https://developers.google.com/vr/android/reference/com/google/vr/sdk/base/GvrView.html
Для переключения между режимами моно и vr установите setVRModeEnabled(логическое значение включено): https://developers.google.com/vr/android/reference/com/google/vr/sdk/base/GvrView.html