[英]Admob via Adwhirl: Not enough space to show ad! Wants: 480, 75, Has: 480, 0
I have searched around and cannot seem to find an answer to an answer to this issue that works. 我四处搜寻,似乎找不到解决此问题的答案的答案。
The error I get is "Not enough space to show ad! Wants: 480, 75, Has: 480, 0" 我收到的错误是“没有足够的空间来展示广告!想要:480、75,已:480、0”
It seems that for some reason my ad has no height available. 似乎出于某种原因,我的广告没有可用高度。
This runs on Haxe NME and my phone is an HTC One S (540x960) with Android 4.0.3 这可以在Haxe NME上运行,而我的手机是带有Android 4.0.3的HTC One S(540x960)
Here is the Java code: 这是Java代码:
public class AdWhirl
{
public static RelativeLayout adLayout;
public static GameActivity activity;
public static String code;
public static void init(String code)
{
AdWhirl.code = code;
activity = GameActivity.getInstance();
activity.runOnUiThread(new Runnable()
{
public void run()
{
adLayout = new RelativeLayout(activity);
//Nothing works till this is set.
AdWhirlManager.setConfigExpireTimeout(1000 * 60 * 5);
RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
ViewGroup view = (ViewGroup) activity.getWindow().getDecorView();
ViewGroup content = (ViewGroup) view.getChildAt(0);
content.addView(adLayout, p);
}
});
}
public static void showAd(final int position)
{
if(activity == null)
{
return;
}
activity.runOnUiThread(new Runnable()
{
public void run()
{
AdWhirlLayout l = new AdWhirlLayout(activity, code);
l.setMaxHeight(75); //AdMob asks for this minimum height
RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
//Bottom-Center
if(position == 0)
{
p.addRule(RelativeLayout.CENTER_HORIZONTAL);
p.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
}
//Top-Center
else
{
p.addRule(RelativeLayout.CENTER_HORIZONTAL);
p.addRule(RelativeLayout.ALIGN_PARENT_TOP);
}
adLayout.addView(l, p);
}
});
}
public static void hideAd()
{
if(activity == null)
{
return;
}
activity.runOnUiThread(new Runnable()
{
public void run()
{
adLayout.removeAllViews();
}
});
}
}
Without seeing your XML layout, I can only hazard a guess, but you're going to want your XML to look something like the following: 没有看到您的XML布局,我只能冒险猜测一下,但是您将希望您的XML看起来像以下内容:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/main_relative_layout_ad"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".GameActivity" >
<!-- Note the layout_above attribute, below -->
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:layout_above="@+id/adView"
android:gravity="center"
android:text="@string/your_text_here" />
<!-- Note the alignParentBottom attribute, below -->
<com.google.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="YOUR_PUBLISHER_ID"
ads:loadAdOnCreate="true" />
</RelativeLayout>
The layout you're probably using is greedy and is therefore sucking up all available space. 您可能使用的布局过于贪婪,因此占用了所有可用空间。 Using
layout_above
will force the layout to leave space for the advert. 使用
layout_above
将强制布局为广告留出空间。
Please remember that the first rule of support is GIGO. 请记住,支持的首要规则是GIGO。 Bad or incomplete information results in either a bad answer or no answer at all, as demonstrated by the 197 views on your question before the 198th person even dared to guess at an answer.
错误或不完整的信息会导致错误答案或根本没有答案,正如第198个人甚至不敢猜测答案之前对问题的197个观点所证明的那样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.