我通过以下方式初始化了ViewRenderable:
ViewRenderable.builder()
.setView(context, R.layout.fifabanner)
.build()
.thenAccept(renderable ->{
bannerRenderable = renderable;
bannerRenderable.setPixelsToMetersRatio(500);
Toast.makeText(context,Float.toString(bannerRenderable.getPixelsToMetersRatio()),Toast.LENGTH_SHORT).show();
});
视图xml文件如下:
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/planetInfoCard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/fifa_ad"
android:gravity="center"
android:orientation="vertical"
android:padding="6dp" />
我将视图附加到节点上。
localPosition.set(0.01f * image.getExtentX(), 0.01f, 0.01f * image.getExtentZ());
cornerNode = new Node();
cornerNode.setParent(this);
cornerNode.setLocalPosition(localPosition);
cornerNode.setRenderable(bannerRenderable);
但是,在30次左右的尝试中,广告仅出现一次。请注意,我正在扫描图像,然后仅显示广告。 我在这里做错了什么,我必须改变什么?
答案 0 :(得分:0)
将XML文件更改为以下内容:
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/planetInfoCard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/fifa_ad"
android:gravity="center"
android:adjustViewBounds="true"
android:scaleType="centerInside"
android:padding="6dp" />
,然后将localposition.set()更改为:
localPosition.set(-0.0f * image.getExtentX(), 0.1f, +0.5f * image.getExtentZ());
cornerNode = new Node();
cornerNode.setParent(this);
cornerNode.setLocalPosition(localPosition);
cornerNode.setLocalRotation(Quaternion.axisAngle(new Vector3(-1f, 0, 0), 90f));
cornerNode.setRenderable(bannerRenderable);