Android-智能横幅-宽度不够(始终缺少一个像素)

Android-智能横幅-宽度不够(始终缺少一个像素),android,smartbanner,Android,Smartbanner,我想在我的Android应用程序(HTML5)的底部添加一个SMART_横幅,布局定义如下 它与“BANNER”配合使用效果非常好,但在“SMART_BANNER”的情况下,其始终为一个像素到一个像素,并且显示以下错误: W/Ads:没有足够的空间显示广告。需要412x90 dp,但只有411x750 dp。 W/Ads:没有足够的空间显示广告。需要412x90 dp,但只有 411x750 dp 问题:我在哪里失去了一个dp(从412到411) 添加信息:我正在使用模拟器(来自Andro

我想在我的Android应用程序(HTML5)的底部添加一个SMART_横幅,布局定义如下


它与“BANNER”配合使用效果非常好,但在“SMART_BANNER”的情况下,其始终为一个像素到一个像素,并且显示以下错误:

W/Ads:没有足够的空间显示广告。需要412x90 dp,但只有411x750 dp。 W/Ads:没有足够的空间显示广告。需要412x90 dp,但只有 411x750 dp

问题:我在哪里失去了一个dp(从412到411)

添加信息:我正在使用模拟器(来自Android Studio)。 如果我使用“Pixel 2XL API 26”(未显示智能横幅),则会出现使用问题,但如果我使用“Pixel API 28”,则会正确显示横幅

致意
Andreas

您需要将AdView的宽度设置为
wrap\u content
,而不是
match\u parent
。至少这是我对我的建议所做的,不管它是一个横幅还是一个智能横幅,它总是有效的

[主题外]我还注意到,在您的网络视图中,您编写了
android:layout_over=“@+id/adView”
。在这种情况下,您不需要声明对adView的新引用,因为它以前已经声明过。因此,如果你简单地把
@id/adView
而不是
@+id
放进去,它仍然可以工作


同时尝试从布局和AdView中删除这些填充(即使设置为0)。从我看到的情况来看,没有必要使用它们。

您需要将AdView的宽度设置为
wrap\u content
,而不是
match\u parent
。至少这是我对我的建议所做的,不管它是一个横幅还是一个智能横幅,它总是有效的

[主题外]我还注意到,在您的网络视图中,您编写了
android:layout_over=“@+id/adView”
。在这种情况下,您不需要声明对adView的新引用,因为它以前已经声明过。因此,如果你简单地把
@id/adView
而不是
@+id
放进去,它仍然可以工作


同时尝试从布局和AdView中删除这些填充(即使设置为0)。据我所见,不需要它们。

您应该这样设置宽度和高度:

  <com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/admob_unitid_web">

您应该这样设置宽度和高度:

  <com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/admob_unitid_web">


我仍然有这个问题。但它似乎是特定于设备的(我目前使用的是模拟器)。像素2XL出现问题(此处仅显示横幅(无智能横幅)),但“像素”可以正常工作。不幸的是,我没有一个像素2XL。这个问题可能是由仿真器引起的吗?是的,我可以向您保证99%与仿真器有关,因为AdView行为往往是仿真器的一种方式,而真实设备的另一种方式。通过在模拟器上运行应用程序,您可以注意到行为的变化,即使您使用的是真实的广告单元IDI,AdView也会始终显示“测试广告”。但它似乎是特定于设备的(我目前使用的是模拟器)。像素2XL出现问题(此处仅显示横幅(无智能横幅)),但“像素”可以正常工作。不幸的是,我没有一个像素2XL。这个问题可能是由仿真器引起的吗?是的,我可以向您保证99%与仿真器有关,因为AdView行为往往是仿真器的一种方式,而真实设备的另一种方式。通过在模拟器上运行应用程序,您可以注意到行为的变化,即使您使用的是真实的广告单元IDI,AdView也会始终显示“测试广告”。但它似乎是特定于设备的(我目前使用的是模拟器)。像素2XL出现问题(此处仅显示横幅(无智能横幅)),但“像素”可以正常工作。不幸的是,我没有一个像素2XL。这个问题可能是由模拟器引起的吗?我仍然有这个问题。但它似乎是特定于设备的(我目前使用的是模拟器)。像素2XL出现问题(此处仅显示横幅(无智能横幅)),但“像素”可以正常工作。不幸的是,我没有一个像素2XL。问题可能是由模拟器引起的吗?