我使用了“arFragment.getArSceneView.getScene().setOnUpdateListener”。每当我实现我自己的“setOnUpdateListener”时,我都能够显示我的菜单,但这个加载图像不会隐藏。此图像仅在我未实现updateListener时自动隐藏。这是活动_main的片段。来自MainActivity的xml和侦听器。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);
}
}
});
编辑:在最近的Sceneform版本中不再需要以下内容。如果您可以使用addOnUpdateListener
而不是setOnUpdateListener
您不必执行我下面描述的操作。
如果您设置了自己的OnUpdateListener
,则必须调用arFragment。onUpdate(帧时)
在您的OnUpdateListener
实现中。在您的情况下,这将是:
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);
}
}
arFragment.onUpdate(frameTime);
});
这样,您仍然可以显示指令视图,而不必在发现平面后将其保留。
我有以下代码可能更容易使用。通过扩展ArFrapse类,您可以有多种可能性来操作视图和行为。
OnResume调用onStart(),它将显示planeDiscoveryController(四处移动的手),直到找到一个平面为止。这就是为什么我在自己的onResume方法中调用hide()。
OnWindowFocusChanged from BaseArFragment将强制屏幕扩展为全屏。通过重写该方法,我删除了更改屏幕的标志,只保留了保持屏幕打开和明亮的标志。
class ProductArFragment : ArFragment() {
override fun onResume() {
super.onResume()
planeDiscoveryController.hide()
}
override fun onWindowFocusChanged(hasFocus: Boolean) {
activity?.let { act ->
if (hasFocus) {
act.window.addFlags(WindowManager
.LayoutParams.FLAG_KEEP_SCREEN_ON)
}
}
}
}
您可以通过隐藏视图,然后将其设置为null,使其不会重新出现,从而使“平面发现”视图始终在启动时显示。在onCreate()中添加:
arFragment = (ArFragment)
getSupportFragmentManager().findFragmentById(R.id.ux_fragment);
arFragment.getPlaneDiscoveryController().hide();
arFragment.getPlaneDiscoveryController().setInstructionView(null);
Since 8.0 hideLoading 隐藏全局大菊花 使用方法 AlipayJSBridge.call('hideLoading'); 代码演示 显示/隐藏全局loading框 <h1>点击以下按钮看不同效果</h1> <p>注意安卓下显示loading后,会覆盖整个界面,所以请使用系统回退键关闭loading</p> <button class="btn show">显示loading<
ap.hideLoading() 隐藏加载提示。 代码示例 <script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script> <button class="btn btn-default">showLoading</button> <script>
Since 8.6 hideTitleLoading 隐藏标题栏loading 使用方法 AlipayJSBridge.call('hideTitleLoading'); 代码演示 显示/隐藏全局loading框 <h1>点击下面按钮查看效果</h1> <a href="javascript:void(0)" class="btn show">显示loading</a> <a href="jav
问题内容: 我的网站上有一堆隐藏图像。他们的容器DIV具有style =“ display:none”。根据用户的操作,某些图像可能会通过javascript显示。问题是打开页面时我的所有图像都被加载了。我想通过仅加载最终变得可见的图像来减轻服务器的负担。我想知道是否有一种纯CSS方式来做到这一点。这是我目前正在使用的两种hacky /复杂方法。如您所见,这不是干净的代码。 这是方法2: 问题答案
我的jsp中有一个这样的tr。 我也有这样的选择。 select中使用的javascript函数如下所示。 因此,如果所选行不是0,我将不会在页面中显示tr。这很好用 我在请求中设置了dateRange变量。setAttribute()并从操作发送它 问题是从请求值中正确地选择了选项,但是没有显示tr 我尝试在jsp中的表单外部这样运行它,希望它能在页面加载之前执行,但没有发生。 有什么想法吗?
问题内容: 我在Angularjs中遇到问题,在我的数据从服务器返回之前,HTML出现了闪烁。 这是演示该问题的视频:http: //youtu.be/husTG3dMFOM-注意#| 和右边的灰色区域。 我尝试了ngCloak,但没有成功(尽管ngCloak确实阻止了括号未如期出现),并且想知道隐藏内容的最佳方法,直到Angular填充HTML。 我在控制器中使用了以下代码: …但是我一次又一次