android - 在 ArFragment 中隐藏加载屏幕

标签 android augmented-reality arcore sceneform

我是 ArCore 和 ArFragment 的新手。我想在检测到飞机时显示我的“菜单” View 并隐藏此加载图像。 enter image description here

我使用了“arFragment.getArSceneView.getScene().setOnUpdateListener”。 每当我实现自己的“setOnUpdateListener”时,我都可以显示我的菜单,但此加载图像不会隐藏。仅当我不实现 updateListener 时,此图像才会自动隐藏。 这是来自 Activity_main.xml 的 fragment 和来自 MainActivity.java 的监听器

<fragment android:name="com.google.ar.sceneform.ux.ArFragment"
    android:id="@+id/ux_fragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

        ArSceneView arSceneView =arFragment.getArSceneView();
    arSceneView.getScene().setOnUpdateListener(
            frameTime -> {
                Frame frame = arSceneView.getArFrame();
                if (frame == null) {
                    return;
                }
                if (frame.getCamera().getTrackingState() != TrackingState.TRACKING) {
                    return;
                }

                for (Plane plane : frame.getUpdatedTrackables(Plane.class)) {
                    if (plane.getTrackingState() == TrackingState.TRACKING) {
                        Log.e("********************","");
                        hsv.setVisibility(View.VISIBLE);
                    }
                }
            });

最佳答案

您可以通过隐藏 View ,然后将其设置为 null 来解决使平面发现 View 始终在启动时显示的问题,这样它就不会重新出现。在onCreate()中添加:

arFragment = (ArFragment) 
        getSupportFragmentManager().findFragmentById(R.id.ux_fragment);
arFragment.getPlaneDiscoveryController().hide();
arFragment.getPlaneDiscoveryController().setInstructionView(null);

关于android - 在 ArFragment 中隐藏加载屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50349023/

相关文章:

android - 无法加载 memtrack 模块 Logcat 错误

android - 无论屏幕设备分辨率如何,都将按钮控件设置为适合屏幕

Android - 以编程方式选择菜单选项

android - TextView 转到空间中的新行

android - 查找设备与图像目标的距离 - Vuforia 和 Unity?

android - 在 Android 上将图像与视频流结合起来

android - 将 ARCore 与 OBJ 和 MTL 文件一起使用

ios - ARKit 和 3D 对象/图像识别

iphone - 应用商店是否支持用于增强现实的 ArKit Demo Api

java - 如何在ARCore中获取最新的检测到的平面?