Мы работали над добавлением функций AR в наше существующее приложение в течение нескольких месяцев с ограниченным прогрессом. Очень рад прочитать недавнюю разработку Google в отношении sceneForm и arFragment. наше текущее приложение состоит из трех фрагментов, и одному из них потребуются функции дополненной реальности.
Для нас это выглядит прямолинейно, поэтому мы заменили фрагмент в нашем приложении на arFragment. Сборка выполнена успешно и остановлена во время работы с небольшим количеством информации для отладки. какие-нибудь предложения о том, как нам правильно перейти с Fragment на arFragment? или, может быть, я пропустил здесь пункты arFragment?
чтобы показать проблему, не просматривая наш код длины (но ценный для нас), мы создали фиктивный проект на основе примера проекта из Google: HelloSceneform. По сути, мы изменили статический фрагмент на динамический фрагмент. Изменяются только два файла и добавляются два файла, которые затем прикрепляются. Модифицированный проект может быть успешно собран, но остановлен при запуске.
Спасибо
Питер
/////// Файл изменен, HelloSceneformActivity.java:
import android.support.v4.app.FragmentTransaction;
// private ArFragment arFragment;
private ItemOneFragment arFragment;
//arFragment = (ArFragment) getSupportFragmentManager().findFragmentById(R.id.ux_fragment);
arFragment = ItemOneFragment.newInstance();
//Manually displaying the first fragment - one time only
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.frame_layout, arFragment);
transaction.commit();
/////// Файл изменен, activity_ux.xml:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".HelloSceneformActivity">
</FrameLayout>
////// Добавлен файл fragment_item_one.xml:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/frame_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ItemOneFragment">
</FrameLayout>
/////// Файл добавлен, ItemOneragment.java:
package com.google.ar.sceneform.samples.hellosceneform;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.google.ar.sceneform.ux.ArFragment;
public class ItemOneFragment extends ArFragment {
public static ItemOneFragment newInstance() {
ItemOneFragment fragment = new ItemOneFragment();
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_item_one, container, false);
}
}