Android 空间不足,无法使用布局hdpi显示广告

Android 空间不足,无法使用布局hdpi显示广告,android,android-layout,layout,hdpi,Android,Android Layout,Layout,Hdpi,我为三星S3 Mini和谷歌Nexus S等设备创建了一个附加的纵向布局,这些设备的纵向宽度为480像素 要添加此克隆布局,我使用Android Studio创建其他…,然后选择Density并选择High Density在新文件夹中为我提供一份布局副本res/layout hdpi——当我使用为480 x 800屏幕大小创建的AVD时,该布局在模拟器中工作得很好(事物出现在你期望的地方) 但是,我的AdMob广告在其他布局中运行良好,例如layout-sw360dp-port和layout-s

我为三星S3 Mini和谷歌Nexus S等设备创建了一个附加的纵向布局,这些设备的纵向宽度为480像素

要添加此克隆布局,我使用Android Studio创建其他…,然后选择Density并选择High Density在新文件夹中为我提供一份布局副本
res/layout hdpi
——当我使用为480 x 800屏幕大小创建的AVD时,该布局在模拟器中工作得很好(事物出现在你期望的地方)

但是,我的AdMob广告在其他布局中运行良好,例如
layout-sw360dp-port
layout-sw600dp-port
,未显示。LogCat声明
没有足够的空间显示广告。需要480x75,但只有432x570

这对我来说部分是有意义的-因为
com.google.android.gms.ads.AdView
所在的
RelativeLayout
既有
android:paddingLeft=“@dimen/activity\u horizontal\u margin”
又有
android:paddingRight=“@dimen/activity\u horizontal\u margin”
根据Android设计指南进行设置-每个像素必须约为24像素

因此,有意义的是,可用的水平空间不是480(设备的宽度),而是432(填充后
RelativeLayout
的宽度)

然而,为什么广告认为它需要所有的水平空间

广告的XML如下所示:

<com.google.android.gms.ads.AdView
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    ads:adUnitId="@string/adUNITID"
    ads:adSize="BANNER"
    android:id="@+id/adView"
    android:layout_alignParentStart="false"
    android:layout_alignParentEnd="false"
    android:layout_alignParentBottom="true" />

文档暗示
BANNER
类型的广告应该需要“320x50密度独立像素”,我不明白为什么它说LogCat中需要480

由于它没有显示带有
横幅的广告
,因此我尝试了
SMART_横幅
(这是一个“全宽动态大小的横幅”),但也没有显示(在LogCat中有相同的消息)


我是否错过了一些显而易见的东西?我很困惑,为什么一个普通的
横幅大小的广告(我认为应该很容易放进可用的空间)是说它不能在三星S3 Mini或谷歌Nexus S这样的设备上显示。我必须移除
RelativeLayout
中的填充物吗?这是个好主意吗?

我最终通过创建一个顶级
线性布局
,其中包含两个
RelativeLayout
项。一个
RelativeLayoutyout
,对于UI组件,可以按照Android设计指南的建议保留其填充空间(以及外观)。另一个
RelativeYout
没有填充空间,因此广告可以放在里面(之前它抱怨需要480像素的屏幕空间)

UI
RelativeLayout
有一个
android:layout\u weight=“1”
,而ad
RelativeLayout
有一个
android:layout\u weight=“7.2”
——似乎适用于屏幕为480 x 800(hdpi)的设备


对我来说,感觉有点像黑客,但它很管用。

我想补充一点,一个只有一个版面的应用程序——处理所有分辨率和两个方向——在所有设备上都能很好地显示广告。因此,我的问题似乎只有在我特别使用
版面hdpi
的版面时才会出现。