gpt4 book ai didi

android - 在 ArFragment 中隐藏加载屏幕

转载 作者:行者123 更新时间:2023-12-05 00:21:20 27 4
gpt4 key购买 nike

我是 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com