1

我的屏幕中央有一个按钮,底部有一个微调器和一个横幅广告。该应用程序在我尝试过的任何手机上都能完美运行,并且在 Galaxy 10.1 平板电脑上也能正常运行。这个按钮就像一个指南针,所以我会随着设备的移动而旋转它。我将它加载到 ASUS MeMo Pad 7" 800 x 1280 上,它运行良好,直到出现 adMob 横幅。此时,按钮似乎被覆盖并且不可见。有时当指南针调整其旋转时,按钮闪烁回来 - 开/关。

此应用可在 5.1、4.4.2 上运行,并通过了应用商店的预发布测试。我在 Studio 中使用 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>

我试图重新排序布局,但一切都按预期进行。首先放置 adview 使其在 imageview 下消失(预期)。代码在显示广告 (loadAd) 之前等待片刻。如果我不加载广告,按钮会保持正常。如果广告需要半秒才能加载下一个广告,则该按钮会短暂显示。

有没有人在任何地方看到过这种行为?关于如何处理的任何建议?这可能只是此设备上的一个问题,但这怎么可能,我怎么知道?

谢谢你。

编辑:我在 Play Store 上发现了另一个应用程序,它仅在 ASUS MeMo Pad 7 LTE 上旋转按钮时表现出相同的行为。我发现了一些看起来运行良好的旋转按钮应用程序。

我尝试了许多不同的布局文件,但无论我将广告放在哪个级别,旋转后按钮仍然会消失。我已经尝试过动画工具(RotateAnimation)以及 9 个旧的 android 库。没有不同。

PROGRESS(但没有修复)-:似乎如果我不对按钮设置动画,它就会保持可见。我假设当广告出现时,动画代码中的某些内容正在与按钮的 Z 级别进行交互。一旦我开始动画(通过单击或旋转设备),按钮就会消失。(叹)

4

1 回答 1

0

在对相关问题进行了大量搜索之后,我发现了如何在 Admob 出现时停止闪烁/消失按钮:

adView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

请参阅2014 年的这个答案。

希望这可以帮助。

于 2017-04-04T09:52:23.427 回答