我的屏幕中央有一个按钮,底部有一个微调器和一个横幅广告。该应用程序可以在我尝试的任何手机上完美运行,并且在Galaxy 10.1平板电脑上也能正常工作。按钮就像一个指南针,所以当设备移动时我会旋转它。我将它加载到华硕MeMo Pad 7" 800 x 1280,在adMob横幅显示之前效果很好。此时,按钮似乎被覆盖并变得不可见。有时,当康帕斯对其旋转进行调整时,按钮会反复闪烁。
此应用适用于5.1,4.4.2并通过应用商店预发布测试。我使用Nexus 7(800 x 1280)和4.4.4在Studio中使用了虚拟设备并且它可以正常工作。我无法确定华硕平板电脑是否有不同之处或4.4.4中的错误。
我的布局如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/point"
tools:context=".MainPlay">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:layout_alignParentTop="true"
android:id="@+id/baseView">
</ImageView>
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/adUnitId"
tools:layout_gravity="center_horizontal">
</com.google.android.gms.ads.AdView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:layout_above="@+id/adView"
android:layout_alignParentTop="true"
android:id="@+id/bView"
android:background="@color/clear"
android:weightSum="1">
<TextView
android:id="@+id/filler"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_weight="0.56">
</TextView>
<Button
android:id="@+id/target"
android:layout_width="300dp"
android:layout_height="300dp"
android:background="@drawable/pointer"
android:gravity="center"
android:text="@string/shake"
android:textColor="#FFFFFF"
android:textSize="18sp" />
<TextView
android:id="@+id/filler1"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_weight="0.35">
</TextView>
<Spinner
android:id="@+id/spinner"
android:layout_width="250dp"
android:layout_height="60dp"
android:background="@color/dark_background"
android:popupBackground="@color/light_background"
android:layout_gravity="center_horizontal|center"/>
<TextView
android:id="@+id/spinnerText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="italic"
tools:textColor="@color/myWhite"
android:layout_weight="0.14"
/>
</LinearLayout>
</RelativeLayout>
我试图重新排列布局,但所有这些都按预期运行。首先放置广告使其在图像视图下消失(预期)。在显示广告(loadAd)之前,代码会等待一段时间。如果我没有加载广告,则按钮保持正常。如果广告需要半秒钟来加载下一个广告,则该按钮会短暂显示。
有人在任何地方都看到过这种行为吗?有关如何处理的任何建议?这可能只是这个设备上的问题,但这怎么可能,我怎么知道呢?
谢谢。
编辑:我发现Play商店上的另一个应用程序在仅在ASUS MeMo Pad 7 LTE上旋转按钮时表现出相同的行为。我发现了一些似乎工作正常的旋转按钮应用程序。
我尝试了很多不同的布局文件,但无论我将广告放在哪个级别,我仍然会在旋转后使按钮消失。我尝试过动画工具(RotateAnimation)以及9个旧的android库。没有不同。
进展(但没有修复) - :如果我没有为按钮设置动画,它似乎仍然可见。我假设当广告出现时,动画代码中的某些内容与按钮的Z级别相互作用。一旦我开始动画(通过单击或旋转设备),按钮就会消失。 (叹息)
答案 0 :(得分:0)
经过大量搜索相关问题后,我发现Admob出现时如何停止闪烁/消失按钮:
adView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
希望这有帮助。