横幅广告出现后,旋转按钮(动画)消失

时间:2017-03-26 19:17:52

标签: android-layout admob android-animation android-4.4-kitkat asus

我的屏幕中央有一个按钮,底部有一个微调器和一个横幅广告。该应用程序可以在我尝试的任何手机上完美运行,并且在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级别相互作用。一旦我开始动画(通过单击或旋转设备),按钮就会消失。 (叹息)

1 个答案:

答案 0 :(得分:0)

经过大量搜索相关问题后,我发现Admob出现时如何停止闪烁/消失按钮:

adView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

请参阅this answer from 2014.

希望这有帮助。