我的屏幕中央有一个按钮,底部有一个微调器和一个横幅广告。该应用程序在我尝试过的任何手机上都能完美运行,并且在Galaxy 10.1平板电脑中也可以正常工作。该按钮的作用类似于指南针,因此我会在设备移动时旋转它。我把它加载到华硕MeMo Pad 7英寸800 x 1280上,在adMob横幅出现之前,它工作得很好。 此时,按钮似乎被覆盖并且不可见。有时,当 compas 调整其旋转时,按钮会闪烁回来 - 开/关。
此应用程序适用于 5.1、4.4.2 并通过应用商店预发布测试。我已经在工作室中使用了Nexus 7(800 x 1280)和4.4.4的虚拟设备,并且可以工作。我无法确定华硕平板电脑中是否有不同之处或 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商店中发现了另一个应用程序,仅在华硕MeMo Pad 7 LTE上旋转按钮时表现出相同的行为。我发现了一些似乎工作正常的旋转按钮应用程序。
我尝试了许多不同的布局文件,但无论我将广告放在哪个级别上,它仍然会在旋转按钮后消失。我尝试了动画实用程序(旋转动画)以及 9 个旧的安卓库。没有区别。
进度(但没有修复)-:似乎如果我不对按钮进行动画处理,它就会保持可见。我假设动画代码中的某些内容在广告显示时与按钮的 Z 级别交互。一旦我开始动画(通过单击或旋转设备),按钮就会消失。(叹气)
在对相关问题进行了大量搜索后,我找到了如何在 Admob 出现时停止闪烁/消失按钮的方法:
adView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
看看2014年的这个答案。
希望这有帮助。